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 (
    91372, 91374, 91371, 91373, 91370, 91381, 
    91383, 91369, 91368, 91339, 91344, 
    91379, 91382, 91384, 91351, 91353, 
    91367, 91338, 91343, 91377, 91380, 
    91349, 91352, 91354, 91336, 91341, 
    91378, 91347, 91333, 91350, 91337, 
    91342, 91348, 91335, 91340, 91332, 
    91361, 91363, 91391, 91393, 91362, 
    91364, 91392, 91394, 91359, 91389, 
    86828, 91331, 91360, 91357, 91387, 
    91358, 91390, 91388, 96213, 96214, 
    96215, 96216, 96217, 96218, 96219, 
    96220, 96221, 96222, 96223, 96224, 
    96225, 96226, 96227, 96228, 96229, 
    96230, 96231, 96232, 96233, 96234, 
    96235, 96236, 96237, 96238, 96239, 
    96240, 96241, 96242, 96243, 96244, 
    96334, 96336, 96338, 96340, 98722, 
    98723, 98724, 98725, 98726, 98727
  )

Query time 0.00081

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 (91372,91374,91371,91373,91370,91381,91383,91369,91368,91339,91344,91379,91382,91384,91351,91353,91367,91338,91343,91377,91380,91349,91352,91354,91336,91341,91378,91347,91333,91350,91337,91342,91348,91335,91340,91332,91361,91363,91391,91393,91362,91364,91392,91394,91359,91389,86828,91331,91360,91357,91387,91358,91390,91388,96213,96214,96215,96216,96217,96218,96219,96220,96221,96222,96223,96224,96225,96226,96227,96228,96229,96230,96231,96232,96233,96234,96235,96236,96237,96238,96239,96240,96241,96242,96243,96244,96334,96336,96338,96340,98722,98723,98724,98725,98726,98727))",
          "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"
          ]
        }
      }
    ]
  }
}