SELECT 
  f.feature_id, 
  f.purpose, 
  p.product_id, 
  p.parent_product_id, 
  g.id, 
  g.code 
FROM 
  q_product_variation_group_features AS f 
  INNER JOIN q_product_variation_groups AS g ON f.group_id = g.id 
  INNER JOIN q_product_variation_group_products AS p ON f.group_id = p.group_id 
WHERE 
  p.product_id IN (
    37513, 
    37514, 
    37515, 
    37516, 
    37520, 
    37521, 
    37522, 
    37523, 
    37524, 
    37525, 
    37526, 
    37527, 
    37528, 
    37529, 
    37530, 
    37531, 
    37532, 
    37533, 
    37534, 
    37535, 
    37536, 
    37537, 
    37538, 
    37539, 
    37540, 
    37541, 
    37542, 
    37543, 
    37544, 
    37545, 
    37546, 
    37547, 
    37548, 
    37549, 
    37550, 
    37551, 
    37552, 
    37553, 
    37554, 
    37555, 
    37557, 
    37558, 
    37559, 
    37560, 
    37561, 
    37562, 
    37563, 
    37820, 
    37821, 
    37822, 
    37823, 
    37824, 
    37825, 
    37826, 
    37827, 
    37828, 
    37829, 
    37830, 
    37831, 
    37832, 
    37833, 
    37834, 
    37835, 
    37836, 
    37837, 
    37838, 
    37839, 
    37840, 
    37841, 
    37842, 
    37843, 
    37844, 
    37845, 
    37846, 
    37847, 
    37848, 
    37849, 
    37850, 
    37851, 
    37852, 
    37853, 
    37854, 
    37855, 
    37856, 
    37858, 
    37859, 
    37860, 
    37861, 
    37862, 
    37863, 
    37864, 
    37865, 
    37866, 
    37867, 
    37868, 
    37869, 
    37870, 
    37871, 
    37872, 
    37873, 
    37874, 
    37875, 
    37877, 
    37878, 
    37879, 
    37880, 
    37881, 
    37882, 
    37883, 
    37884, 
    37885, 
    37886, 
    37887, 
    37888, 
    37889, 
    37890, 
    37891, 
    37892, 
    37893, 
    37894, 
    37895, 
    37896, 
    37897, 
    38150, 
    38151, 
    38152, 
    38155, 
    38156
  )

Query time 0.00106

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "498.50"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "p",
          "access_type": "ALL",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "rows_examined_per_scan": 922,
          "rows_produced_per_join": 128,
          "filtered": "13.88",
          "cost_info": {
            "read_cost": "165.70",
            "eval_cost": "25.60",
            "prefix_cost": "191.30",
            "data_read_per_join": "2K"
          },
          "used_columns": [
            "product_id",
            "parent_product_id",
            "group_id"
          ],
          "attached_condition": "(`portal`.`p`.`product_id` in (37513,37514,37515,37516,37520,37521,37522,37523,37524,37525,37526,37527,37528,37529,37530,37531,37532,37533,37534,37535,37536,37537,37538,37539,37540,37541,37542,37543,37544,37545,37546,37547,37548,37549,37550,37551,37552,37553,37554,37555,37557,37558,37559,37560,37561,37562,37563,37820,37821,37822,37823,37824,37825,37826,37827,37828,37829,37830,37831,37832,37833,37834,37835,37836,37837,37838,37839,37840,37841,37842,37843,37844,37845,37846,37847,37848,37849,37850,37851,37852,37853,37854,37855,37856,37858,37859,37860,37861,37862,37863,37864,37865,37866,37867,37868,37869,37870,37871,37872,37873,37874,37875,37877,37878,37879,37880,37881,37882,37883,37884,37885,37886,37887,37888,37889,37890,37891,37892,37893,37894,37895,37896,37897,38150,38151,38152,38155,38156))"
        }
      },
      {
        "table": {
          "table_name": "g",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "id"
          ],
          "key_length": "4",
          "ref": [
            "portal.p.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 128,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "128.00",
            "eval_cost": "25.60",
            "prefix_cost": "344.90",
            "data_read_per_join": "98K"
          },
          "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": "4",
          "ref": [
            "portal.p.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 128,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "128.00",
            "eval_cost": "25.60",
            "prefix_cost": "498.50",
            "data_read_per_join": "14K"
          },
          "used_columns": [
            "feature_id",
            "purpose",
            "group_id"
          ]
        }
      }
    ]
  }
}