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 (
    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, 95865, 95866, 95885, 
    95886, 95887, 95888, 95894, 96117, 
    96118, 96176, 96529, 96569, 97426, 
    97427, 97428, 97429, 97430, 97431, 
    97432, 97433, 97434, 97435, 97436, 
    97437, 97438, 97439, 97440, 97441, 
    97442, 97443, 97444, 97445, 97446, 
    97447, 97448, 97449, 97450, 97451, 
    97452, 97453, 97454, 97455, 97456, 
    97457, 97458, 97459, 97460, 97461, 
    97462, 97463, 97464, 97465, 97466, 
    97467, 97468, 97469, 97470, 97471, 
    97472, 97473, 97474, 97475, 97476, 
    97477, 97478, 97479, 97480, 97481
  )

Query time 0.00061

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 (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,95865,95866,95885,95886,95887,95888,95894,96117,96118,96176,96529,96569,97426,97427,97428,97429,97430,97431,97432,97433,97434,97435,97436,97437,97438,97439,97440,97441,97442,97443,97444,97445,97446,97447,97448,97449,97450,97451,97452,97453,97454,97455,97456,97457,97458,97459,97460,97461,97462,97463,97464,97465,97466,97467,97468,97469,97470,97471,97472,97473,97474,97475,97476,97477,97478,97479,97480,97481))",
          "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"
          ]
        }
      }
    ]
  }
}