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 (
    431037, 431056, 431262, 431012, 431186, 
    431392, 430793, 430799, 431034, 431334, 
    430683, 431289, 431301, 431354, 430877, 
    430879, 431166, 431244, 431344, 430920, 
    430926, 430946, 431000, 430659, 430706, 
    430997, 431020, 431218, 431291, 431406, 
    430741, 430864, 431021, 431248, 431309, 
    431322, 431368, 431487, 339481, 431349, 
    430761, 430792, 430858, 430882, 430949, 
    431038, 431101, 431252, 431280, 431469, 
    430830, 431230, 431376, 431420, 431429, 
    430740, 430919, 430975, 431295, 431303, 
    431360, 431464, 430642, 430671, 431410, 
    431424, 431470, 431047, 431055, 431350, 
    431474, 430643, 430739, 430867, 430957, 
    430982, 431060, 431279, 430679, 430814, 
    431211, 431237, 431341, 430735, 430948, 
    431149, 431246, 392168, 430798, 430667, 
    430734, 430764, 431234, 431287, 430934, 
    431010, 431273, 431324, 430718, 430754
  )

Query time 0.00155

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 (431037,431056,431262,431012,431186,431392,430793,430799,431034,431334,430683,431289,431301,431354,430877,430879,431166,431244,431344,430920,430926,430946,431000,430659,430706,430997,431020,431218,431291,431406,430741,430864,431021,431248,431309,431322,431368,431487,339481,431349,430761,430792,430858,430882,430949,431038,431101,431252,431280,431469,430830,431230,431376,431420,431429,430740,430919,430975,431295,431303,431360,431464,430642,430671,431410,431424,431470,431047,431055,431350,431474,430643,430739,430867,430957,430982,431060,431279,430679,430814,431211,431237,431341,430735,430948,431149,431246,392168,430798,430667,430734,430764,431234,431287,430934,431010,431273,431324,430718,430754))"
        }
      },
      {
        "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"
          ]
        }
      }
    ]
  }
}