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

Query time 0.00118

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