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 (
    87917, 88036, 87971, 84756, 84757, 84861, 
    84862, 87900, 87901, 87915, 88088, 
    88056, 88057, 88058, 84851, 88037, 
    88059, 88060, 87907, 87940, 88091, 
    88090, 88087, 88086, 94451, 94798, 
    94799, 94800, 94801, 94823, 94824, 
    94827, 94828, 94829, 94830, 94831, 
    95736, 95743, 95744, 95745, 95746, 
    95747, 95748, 95749, 95750, 95751, 
    95752, 95813, 95814, 95815, 95816, 
    95817, 95818, 95833, 95834, 95835, 
    95836, 95837, 95838, 95839, 95840, 
    95841, 95842, 95843, 95844, 95845, 
    95846, 95847, 95848, 95849, 95850, 
    95851, 95852, 95853, 95854, 95855, 
    95856, 95857, 95858, 95859, 95860, 
    95861, 95862, 95863, 95864, 97426, 
    97427, 97428, 97429, 97430, 97431, 
    97432, 97433, 97434, 97435, 97436
  )

Query time 0.00033

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 (87917,88036,87971,84756,84757,84861,84862,87900,87901,87915,88088,88056,88057,88058,84851,88037,88059,88060,87907,87940,88091,88090,88087,88086,94451,94798,94799,94800,94801,94823,94824,94827,94828,94829,94830,94831,95736,95743,95744,95745,95746,95747,95748,95749,95750,95751,95752,95813,95814,95815,95816,95817,95818,95833,95834,95835,95836,95837,95838,95839,95840,95841,95842,95843,95844,95845,95846,95847,95848,95849,95850,95851,95852,95853,95854,95855,95856,95857,95858,95859,95860,95861,95862,95863,95864,97426,97427,97428,97429,97430,97431,97432,97433,97434,97435,97436))",
          "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"
          ]
        }
      }
    ]
  }
}