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 (
    84770, 84783, 84792, 87538, 88418, 89787, 
    85664, 85684, 85696, 85708, 84765, 
    85660, 85721, 85738, 85748, 85758, 
    87449, 88494, 88446, 88463, 88479, 
    89020, 89785, 85718, 88167, 88215, 
    88192, 88204, 88400, 84769, 84782, 
    84791, 85663, 85683, 85695, 85707, 
    87448, 88492, 84764, 85659, 89019, 
    89104, 89112, 87504, 87520, 88444, 
    88462, 88478, 90831, 88191, 88203, 
    87536, 88399, 88493, 84768, 84781, 
    84790, 87503, 87519, 88442, 88459, 
    88476, 88521, 89838, 89890, 89962, 
    88445, 84763, 89103, 89111, 90830, 
    89786, 89836, 89888, 89960, 87535, 
    88398, 88491, 88443, 90816, 89018, 
    89784, 87616, 87624, 90815, 89102, 
    89110, 90829, 89017, 88547, 87620, 
    87622, 88543, 89016
  )

Query time 0.00062

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 (84770,84783,84792,87538,88418,89787,85664,85684,85696,85708,84765,85660,85721,85738,85748,85758,87449,88494,88446,88463,88479,89020,89785,85718,88167,88215,88192,88204,88400,84769,84782,84791,85663,85683,85695,85707,87448,88492,84764,85659,89019,89104,89112,87504,87520,88444,88462,88478,90831,88191,88203,87536,88399,88493,84768,84781,84790,87503,87519,88442,88459,88476,88521,89838,89890,89962,88445,84763,89103,89111,90830,89786,89836,89888,89960,87535,88398,88491,88443,90816,89018,89784,87616,87624,90815,89102,89110,90829,89017,88547,87620,87622,88543,89016))",
          "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"
          ]
        }
      }
    ]
  }
}