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 (
    89173, 90321, 90322, 90325, 90324, 90326, 
    90323, 90329, 90330, 90331, 90333, 
    90334, 90337, 90338, 90339, 90340, 
    90341, 90342, 90345, 90346, 90347, 
    90348, 90328, 90332, 90335, 90336, 
    90343, 90344, 90327, 90317, 90319, 
    90320, 87388, 87387, 87389, 87383, 
    87384, 89612, 89613, 87386, 87382, 
    89611, 94119, 94120, 94121, 94122, 
    94123, 94124, 94125, 94126, 94127, 
    94128, 94129, 94130, 94131, 94132, 
    94133, 94134, 94135, 94136, 94137, 
    94138, 94139, 94457, 94839, 94840, 
    94841, 95319, 95365, 95366, 95367, 
    95368, 95369, 95370, 95371, 95372, 
    95373, 95374, 95375, 95377, 95927, 
    95928, 95929, 95930, 95931, 96494, 
    96495, 96496, 96497, 96498, 96499, 
    96500, 96501, 96502, 96503, 96504
  )

Query time 0.00089

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 (89173,90321,90322,90325,90324,90326,90323,90329,90330,90331,90333,90334,90337,90338,90339,90340,90341,90342,90345,90346,90347,90348,90328,90332,90335,90336,90343,90344,90327,90317,90319,90320,87388,87387,87389,87383,87384,89612,89613,87386,87382,89611,94119,94120,94121,94122,94123,94124,94125,94126,94127,94128,94129,94130,94131,94132,94133,94134,94135,94136,94137,94138,94139,94457,94839,94840,94841,95319,95365,95366,95367,95368,95369,95370,95371,95372,95373,95374,95375,95377,95927,95928,95929,95930,95931,96494,96495,96496,96497,96498,96499,96500,96501,96502,96503,96504))",
          "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"
          ]
        }
      }
    ]
  }
}