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 (
    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, 93, 94, 95, 96, 154, 155, 156, 
    157, 158, 159
  )

Query time 0.00107

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 (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,93,94,95,96,154,155,156,157,158,159))",
          "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"
          ]
        }
      }
    ]
  }
}