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 (
    90187, 90188, 90284, 90292, 90145, 90160, 
    84052, 84060, 90130, 85965, 90299, 
    90306, 90144, 90159, 90249, 90257, 
    83941, 84085, 90283, 90291, 90143, 
    90158, 90200, 90211, 85968, 90195, 
    84089, 90170, 90171, 90134, 90135, 
    85964, 90298, 90305, 90230, 90245, 
    90184, 90185, 90136, 83940, 84084, 
    90282, 90290, 90208, 90219, 85967, 
    90248, 90256, 90227, 84051, 84059, 
    90281, 90289, 85963, 90177, 90178, 
    90247, 90255, 83939, 84083, 90207, 
    90218, 90179, 90133, 90229, 90244, 
    90280, 90288, 90194, 90254, 90262, 
    85962, 90228, 90243, 83938, 84082, 
    90169, 90174, 90175, 90206, 90217, 
    90193, 84050, 84058, 90226, 90237, 
    90242, 90253, 90261, 90186, 85961, 
    90252, 90260, 90251, 90259, 90279
  )

Query time 0.00046

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 (90187,90188,90284,90292,90145,90160,84052,84060,90130,85965,90299,90306,90144,90159,90249,90257,83941,84085,90283,90291,90143,90158,90200,90211,85968,90195,84089,90170,90171,90134,90135,85964,90298,90305,90230,90245,90184,90185,90136,83940,84084,90282,90290,90208,90219,85967,90248,90256,90227,84051,84059,90281,90289,85963,90177,90178,90247,90255,83939,84083,90207,90218,90179,90133,90229,90244,90280,90288,90194,90254,90262,85962,90228,90243,83938,84082,90169,90174,90175,90206,90217,90193,84050,84058,90226,90237,90242,90253,90261,90186,85961,90252,90260,90251,90259,90279))",
          "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"
          ]
        }
      }
    ]
  }
}