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 (
    94831, 94839, 94840, 94841, 94843, 94850, 
    94851, 94852, 94853, 95309, 95315, 
    95316, 95318, 95319, 95365, 95366, 
    95367, 95368, 95369, 95370, 95371, 
    95372, 95373, 95374, 95375, 95376, 
    95377, 95736, 95756, 95757, 95758, 
    95759, 95760, 95761, 95762, 95763, 
    95768, 95769, 95770, 95771, 95772, 
    95773, 95774, 95775, 95776, 95777, 
    95778, 95779, 95789, 95821, 95822, 
    95823, 95824, 95825, 95826, 95827, 
    95828, 95830, 95831, 95867, 95868, 
    95869, 95870, 95871, 95872, 95873, 
    95874, 95875, 95876, 95877, 95878, 
    95879, 95880, 95881, 95882, 95883, 
    95884, 95889, 95891, 95892, 95895, 
    95896, 95897, 95898, 95899, 95900, 
    95901, 95902, 95903, 95904, 95905, 
    95906, 95907, 95908, 95909, 95910
  )

Query time 0.00071

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 (94831,94839,94840,94841,94843,94850,94851,94852,94853,95309,95315,95316,95318,95319,95365,95366,95367,95368,95369,95370,95371,95372,95373,95374,95375,95376,95377,95736,95756,95757,95758,95759,95760,95761,95762,95763,95768,95769,95770,95771,95772,95773,95774,95775,95776,95777,95778,95779,95789,95821,95822,95823,95824,95825,95826,95827,95828,95830,95831,95867,95868,95869,95870,95871,95872,95873,95874,95875,95876,95877,95878,95879,95880,95881,95882,95883,95884,95889,95891,95892,95895,95896,95897,95898,95899,95900,95901,95902,95903,95904,95905,95906,95907,95908,95909,95910))",
          "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"
          ]
        }
      }
    ]
  }
}