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 (
    88025, 84696, 88938, 87996, 88549, 89018, 
    84699, 88516, 88519, 89109, 89116, 
    89784, 88073, 88195, 88207, 88768, 
    88940, 88449, 88466, 88482, 88040, 
    88690, 88737, 84703, 84706, 88082, 
    91053, 87616, 87624, 90815, 88941, 
    89102, 89108, 89110, 89115, 87958, 
    88068, 88675, 88722, 87951, 88067, 
    88512, 88548, 88590, 88591, 88592, 
    90834, 88447, 88464, 88480, 88691, 
    88738, 87548, 88077, 88141, 88144, 
    88767, 90829, 89574, 88939, 89017, 
    88547, 87986, 87946, 88583, 88674, 
    88721, 87947, 87949, 88043, 88582, 
    90833, 87956, 89982, 89983, 89984, 
    88081, 87620, 87622, 84702, 84705, 
    91052, 88003, 88545, 88046, 88080, 
    88403, 84697, 84698, 88028, 88140, 
    88143, 88508, 88543, 88765, 89016
  )

Query time 0.00108

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 (88025,84696,88938,87996,88549,89018,84699,88516,88519,89109,89116,89784,88073,88195,88207,88768,88940,88449,88466,88482,88040,88690,88737,84703,84706,88082,91053,87616,87624,90815,88941,89102,89108,89110,89115,87958,88068,88675,88722,87951,88067,88512,88548,88590,88591,88592,90834,88447,88464,88480,88691,88738,87548,88077,88141,88144,88767,90829,89574,88939,89017,88547,87986,87946,88583,88674,88721,87947,87949,88043,88582,90833,87956,89982,89983,89984,88081,87620,87622,84702,84705,91052,88003,88545,88046,88080,88403,84697,84698,88028,88140,88143,88508,88543,88765,89016))",
          "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"
          ]
        }
      }
    ]
  }
}