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 (
    300, 301, 302, 3525, 3526, 3527, 3528, 
    3529, 3530, 3531, 3940, 3941, 3942, 
    3943, 3944, 3945, 3946, 3985, 3986, 
    3987, 3988, 3989, 3990, 3991, 4045, 
    4046, 4047, 4048, 4049, 4050, 4051, 
    4128, 4129, 4130, 4131, 4132, 4133, 
    4134, 4181, 4182, 4183, 4184, 4185, 
    4186, 4187, 26, 27, 28, 72, 73, 74, 75, 
    133, 134, 135, 136, 137, 138, 139, 240, 
    241, 242, 293, 294, 295, 296, 3520, 3521, 
    3522, 3523, 3524, 3936, 3937, 3938, 
    3983, 3984, 4042, 4043, 4044, 4124, 
    4125, 4126, 4127, 4178, 4179, 4180, 
    43, 44, 45, 46, 47, 48, 49, 90, 91, 92
  )

Query time 0.00081

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "201.61"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "p",
          "access_type": "range",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "product_id"
          ],
          "key_length": "3",
          "rows_examined_per_scan": 96,
          "rows_produced_per_join": 96,
          "filtered": "100.00",
          "index_condition": "(`gaseus`.`p`.`product_id` in (300,301,302,3525,3526,3527,3528,3529,3530,3531,3940,3941,3942,3943,3944,3945,3946,3985,3986,3987,3988,3989,3990,3991,4045,4046,4047,4048,4049,4050,4051,4128,4129,4130,4131,4132,4133,4134,4181,4182,4183,4184,4185,4186,4187,26,27,28,72,73,74,75,133,134,135,136,137,138,139,240,241,242,293,294,295,296,3520,3521,3522,3523,3524,3936,3937,3938,3983,3984,4042,4043,4044,4124,4125,4126,4127,4178,4179,4180,43,44,45,46,47,48,49,90,91,92))",
          "cost_info": {
            "read_cost": "57.61",
            "eval_cost": "9.60",
            "prefix_cost": "67.21",
            "data_read_per_join": "1K"
          },
          "used_columns": [
            "product_id",
            "parent_product_id",
            "group_id"
          ]
        }
      },
      {
        "table": {
          "table_name": "g",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "id"
          ],
          "key_length": "3",
          "ref": [
            "gaseus.p.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 96,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "24.00",
            "eval_cost": "9.60",
            "prefix_cost": "100.81",
            "data_read_per_join": "37K"
          },
          "used_columns": [
            "id",
            "code"
          ]
        }
      },
      {
        "table": {
          "table_name": "f",
          "access_type": "ref",
          "possible_keys": [
            "idx_group_id"
          ],
          "key": "idx_group_id",
          "used_key_parts": [
            "group_id"
          ],
          "key_length": "3",
          "ref": [
            "gaseus.p.group_id"
          ],
          "rows_examined_per_scan": 3,
          "rows_produced_per_join": 288,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "72.00",
            "eval_cost": "28.80",
            "prefix_cost": "201.61",
            "data_read_per_join": "29K"
          },
          "used_columns": [
            "feature_id",
            "purpose",
            "group_id"
          ]
        }
      }
    ]
  }
}