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 (
    430644, 430664, 430988, 431073, 430730, 
    431043, 431083, 431135, 430628, 431089, 
    431167, 431459, 339831, 430829, 430842, 
    431063, 431183, 430662, 430844, 431066, 
    431313, 430651, 430869, 430928, 339762, 
    430769, 430880, 430898, 430899, 430884, 
    431035, 339781, 430653, 430684, 430712, 
    430847, 431140, 431142, 430631, 430891, 
    430962, 430626, 431185, 381713, 430893, 
    431093, 430881, 430909, 431031, 339733, 
    339691, 431123, 430797, 430896, 430900, 
    430980, 431197, 431250, 430633, 430806, 
    430873, 430883, 431226, 339600, 430837, 
    431088, 430645, 430685, 430787, 430876, 
    430930, 431023, 431064, 430913, 339488, 
    430768, 430841, 431008, 431078, 431131, 
    339804, 339594, 430676, 430772, 430802, 
    430981, 431119, 430758, 431032, 431121, 
    430760, 430796, 430846, 431113, 431159, 
    430698, 431198, 431356, 381712, 431178
  )

Query time 0.00159

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "430.18"
    },
    "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": 100,
          "rows_produced_per_join": 100,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "120.12",
            "eval_cost": "20.00",
            "prefix_cost": "140.12",
            "data_read_per_join": "1K"
          },
          "used_columns": [
            "product_id",
            "parent_product_id",
            "group_id"
          ],
          "attached_condition": "(`webmarco`.`p`.`product_id` in (430644,430664,430988,431073,430730,431043,431083,431135,430628,431089,431167,431459,339831,430829,430842,431063,431183,430662,430844,431066,431313,430651,430869,430928,339762,430769,430880,430898,430899,430884,431035,339781,430653,430684,430712,430847,431140,431142,430631,430891,430962,430626,431185,381713,430893,431093,430881,430909,431031,339733,339691,431123,430797,430896,430900,430980,431197,431250,430633,430806,430873,430883,431226,339600,430837,431088,430645,430685,430787,430876,430930,431023,431064,430913,339488,430768,430841,431008,431078,431131,339804,339594,430676,430772,430802,430981,431119,430758,431032,431121,430760,430796,430846,431113,431159,430698,431198,431356,381712,431178))"
        }
      },
      {
        "table": {
          "table_name": "g",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "id"
          ],
          "key_length": "3",
          "ref": [
            "webmarco.p.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 100,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "100.00",
            "eval_cost": "20.00",
            "prefix_cost": "260.12",
            "data_read_per_join": "39K"
          },
          "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": [
            "webmarco.p.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 141,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "141.72",
            "eval_cost": "28.34",
            "prefix_cost": "430.18",
            "data_read_per_join": "14K"
          },
          "used_columns": [
            "feature_id",
            "purpose",
            "group_id"
          ]
        }
      }
    ]
  }
}