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 (
    84768, 84781, 84790, 87503, 87513, 87519, 
    87529, 88442, 88451, 88459, 88468, 
    88476, 88484, 87462, 88173, 88221, 
    85671, 85691, 85703, 85715, 88521, 
    88552, 89838, 89890, 89962, 91528, 
    88445, 85679, 88496, 91438, 91452, 
    87516, 87532, 88448, 88465, 88481, 
    88793, 84763, 88784, 88142, 88145, 
    88171, 88219, 89103, 89111, 88069, 
    88785, 90830, 84772, 84785, 84794, 
    85668, 85688, 85700, 85712, 88550, 
    88593, 88769, 87546, 87549, 88402, 
    88405, 89786, 89836, 89888, 89960, 
    91526, 85676, 87535, 88398, 88491, 
    91433, 91447, 84776, 87878, 88443, 
    90816, 88697, 88744, 88075, 88197, 
    88209, 87515, 87531, 84696, 88938, 
    88549, 89018, 84699, 88516, 88519, 
    89109, 89116, 89784, 88195, 88207
  )

Query time 0.00053

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 (84768,84781,84790,87503,87513,87519,87529,88442,88451,88459,88468,88476,88484,87462,88173,88221,85671,85691,85703,85715,88521,88552,89838,89890,89962,91528,88445,85679,88496,91438,91452,87516,87532,88448,88465,88481,88793,84763,88784,88142,88145,88171,88219,89103,89111,88069,88785,90830,84772,84785,84794,85668,85688,85700,85712,88550,88593,88769,87546,87549,88402,88405,89786,89836,89888,89960,91526,85676,87535,88398,88491,91433,91447,84776,87878,88443,90816,88697,88744,88075,88197,88209,87515,87531,84696,88938,88549,89018,84699,88516,88519,89109,89116,89784,88195,88207))",
          "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"
          ]
        }
      }
    ]
  }
}