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 (
    4109, 4032, 4033, 4034, 4035, 4036, 4164, 
    4161, 4162, 4175, 4176, 4177, 4178, 
    4179, 4180, 4181, 4182, 4183, 4184, 
    4185, 4186, 4187, 4188, 4192, 4193, 
    4194, 4195, 4199, 4200, 4201, 4202, 
    4367, 4020, 4021, 4022, 4023, 3934, 
    3932, 3970, 4024, 4014, 4065, 4113, 
    4086, 4089, 4092, 4093, 4097, 4018, 
    4028, 3929, 4052, 4010, 3955, 4150, 
    4151, 4050, 3930, 4189, 4037, 4038, 
    4039, 4040, 4025, 4119, 4126, 4127, 
    4072, 4145, 4146, 4147, 4060, 3974, 
    4041, 4103, 4148, 4102, 4366, 4064, 
    4062, 4101, 4063, 4074, 4075, 4076, 
    4077, 4078, 4079, 4080
  )

Query time 0.00059

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "table_name": "p",
      "access_type": "range",
      "possible_keys": ["PRIMARY", "idx_group_id"],
      "key": "PRIMARY",
      "key_length": "3",
      "used_key_parts": ["product_id"],
      "rows": 90,
      "filtered": 100,
      "index_condition": "p.product_id in (4109,4032,4033,4034,4035,4036,4164,4161,4162,4175,4176,4177,4178,4179,4180,4181,4182,4183,4184,4185,4186,4187,4188,4192,4193,4194,4195,4199,4200,4201,4202,4367,4020,4021,4022,4023,3934,3932,3970,4024,4014,4065,4113,4086,4089,4092,4093,4097,4018,4028,3929,4052,4010,3955,4150,4151,4050,3930,4189,4037,4038,4039,4040,4025,4119,4126,4127,4072,4145,4146,4147,4060,3974,4041,4103,4148,4102,4366,4064,4062,4101,4063,4074,4075,4076,4077,4078,4079,4080)"
    },
    "table": {
      "table_name": "g",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY"],
      "key": "PRIMARY",
      "key_length": "3",
      "used_key_parts": ["id"],
      "ref": ["ymonline_livedata.p.group_id"],
      "rows": 1,
      "filtered": 100
    },
    "table": {
      "table_name": "f",
      "access_type": "ref",
      "possible_keys": ["idx_group_id"],
      "key": "idx_group_id",
      "key_length": "3",
      "used_key_parts": ["group_id"],
      "ref": ["ymonline_livedata.p.group_id"],
      "rows": 1,
      "filtered": 100
    }
  }
}

Result

feature_id purpose product_id parent_product_id id code
578 group_variation_catalog_item 3934 0 310 TBMCCF141
551 group_variation_catalog_item 3955 0 317 TBMCCF26
578 group_variation_catalog_item 3970 0 322 TBMCCF18
578 group_variation_catalog_item 3974 0 323 TBMCCF179
580 group_variation_catalog_item 4010 0 333 TBMCAR11
551 group_variation_catalog_item 4050 0 338 TBMCTH01
551 group_variation_catalog_item 4052 0 339 TBMCRUN01
551 group_variation_catalog_item 4060 0 342 TBMCABU63
551 group_variation_catalog_item 4064 0 343 TBMCABU01
551 group_variation_catalog_item 4065 0 344 TBMCABU72
551 group_variation_catalog_item 4072 0 348 TBMCABU22
551 group_variation_catalog_item 4089 0 349 TBMCABU60
551 group_variation_catalog_item 4093 0 350 TBMCABU44
551 group_variation_catalog_item 4097 0 351 TBMCABU48
551 group_variation_catalog_item 4119 0 352 TBMCOM6
551 group_variation_catalog_item 4162 0 355 TBMCAN88
551 group_variation_catalog_item 4164 0 356 TBMCAN861
551 group_variation_catalog_item 4185 0 357 TBMCAN72
551 group_variation_catalog_item 4189 0 358 TBMCAN40
551 group_variation_catalog_item 4195 0 359 TBMCAN106
551 group_variation_catalog_item 4202 0 360 TBMCAN01
551 group_variation_catalog_item 4367 0 389 TBMCAN73