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 (
    91369, 89615, 89628, 86857, 90071, 91368, 
    85654, 90073, 84114, 84105, 85037, 
    89007, 89009, 83094, 83107, 83108, 
    84113, 91379, 83099, 91382, 91384, 
    91870, 91351, 91353, 91367, 83950, 
    83951, 83952, 83953, 89179, 91295, 
    83110, 83120, 89008, 91869, 91871, 
    91872, 91873, 91874, 91875, 85038, 
    90063, 91377, 92458, 92459, 92460, 
    92461, 92462, 92463, 92464, 91380, 
    92489, 92490, 92491, 92492, 92493, 
    92494, 92495, 86892, 90065, 91349, 
    91352, 91354, 90076, 92211, 92216, 
    92218, 92219, 92220, 92221, 92222, 
    92224, 92225, 92226, 92467, 86383, 
    89739, 91378, 92232, 92233, 92234, 
    92235, 92236, 92238, 92468, 92472, 
    92473, 92474, 91347, 89725, 83095, 
    84101, 83946, 83947, 83948, 83949
  )

Query time 0.00036

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 (91369,89615,89628,86857,90071,91368,85654,90073,84114,84105,85037,89007,89009,83094,83107,83108,84113,91379,83099,91382,91384,91870,91351,91353,91367,83950,83951,83952,83953,89179,91295,83110,83120,89008,91869,91871,91872,91873,91874,91875,85038,90063,91377,92458,92459,92460,92461,92462,92463,92464,91380,92489,92490,92491,92492,92493,92494,92495,86892,90065,91349,91352,91354,90076,92211,92216,92218,92219,92220,92221,92222,92224,92225,92226,92467,86383,89739,91378,92232,92233,92234,92235,92236,92238,92468,92472,92473,92474,91347,89725,83095,84101,83946,83947,83948,83949))",
          "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"
          ]
        }
      }
    ]
  }
}