SELECT 
  f.feature_id, 
  f.purpose, 
  p.product_id, 
  p.parent_product_id, 
  g.id, 
  g.code 
FROM 
  cscart_product_variation_group_features AS f 
  INNER JOIN cscart_product_variation_groups AS g ON f.group_id = g.id 
  INNER JOIN cscart_product_variation_group_products AS p ON f.group_id = p.group_id 
WHERE 
  p.product_id IN (
    88064, 88568, 88957, 88958, 88986, 88168, 
    88216, 89842, 89894, 89967, 91533, 
    84770, 84783, 84792, 87538, 88418, 
    89787, 89791, 88754, 88942, 85664, 
    85684, 85696, 85708, 85669, 85689, 
    85701, 85713, 88969, 88970, 88973, 
    88974, 85730, 85747, 85757, 85767, 
    84765, 85660, 85677, 88554, 88660, 
    88661, 88707, 88708, 85721, 85738, 
    85748, 85758, 85737, 89455, 89468, 
    89476, 89484, 87449, 88494, 91436, 
    91450, 88446, 88463, 88479, 89020, 
    89790, 88753, 88796, 89785, 85718, 
    89460, 88967, 88968, 88971, 88972, 
    88955, 88956, 88659, 88706, 88167, 
    88175, 88215, 88223, 84774, 84787, 
    84796, 88192, 88204, 88400, 88953, 
    88954, 84769, 84782, 84791, 87879, 
    88763, 85663, 85683, 85695, 85707
  )

Query time 0.00072

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "1.05"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "f",
          "access_type": "ALL",
          "possible_keys": [
            "idx_group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 1,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "0.25",
            "eval_cost": "0.10",
            "prefix_cost": "0.35",
            "data_read_per_join": "104"
          },
          "used_columns": [
            "feature_id",
            "purpose",
            "group_id"
          ]
        }
      },
      {
        "table": {
          "table_name": "g",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "id"
          ],
          "key_length": "3",
          "ref": [
            "nuie_scalesta_net.f.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 1,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "0.25",
            "eval_cost": "0.10",
            "prefix_cost": "0.70",
            "data_read_per_join": "400"
          },
          "used_columns": [
            "id",
            "code"
          ]
        }
      },
      {
        "table": {
          "table_name": "p",
          "access_type": "ref",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "idx_group_id",
          "used_key_parts": [
            "group_id"
          ],
          "key_length": "3",
          "ref": [
            "nuie_scalesta_net.f.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 1,
          "filtered": "100.00",
          "index_condition": "(`nuie_scalesta_net`.`p`.`product_id` in (88064,88568,88957,88958,88986,88168,88216,89842,89894,89967,91533,84770,84783,84792,87538,88418,89787,89791,88754,88942,85664,85684,85696,85708,85669,85689,85701,85713,88969,88970,88973,88974,85730,85747,85757,85767,84765,85660,85677,88554,88660,88661,88707,88708,85721,85738,85748,85758,85737,89455,89468,89476,89484,87449,88494,91436,91450,88446,88463,88479,89020,89790,88753,88796,89785,85718,89460,88967,88968,88971,88972,88955,88956,88659,88706,88167,88175,88215,88223,84774,84787,84796,88192,88204,88400,88953,88954,84769,84782,84791,87879,88763,85663,85683,85695,85707))",
          "cost_info": {
            "read_cost": "0.25",
            "eval_cost": "0.10",
            "prefix_cost": "1.05",
            "data_read_per_join": "16"
          },
          "used_columns": [
            "product_id",
            "parent_product_id",
            "group_id"
          ]
        }
      }
    ]
  }
}