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 (
    95225, 95226, 95228, 95229, 95231, 95233, 
    95235, 95237, 95239, 95241, 95243, 
    95245, 95970, 95971, 95972, 95973, 
    95974, 95975, 95976, 96051, 96053, 
    96055, 96057, 96059, 96061, 96062, 
    96064, 96066, 96068, 96070, 96072, 
    96074, 96076, 96078, 96082, 96083, 
    96086, 96087, 96090, 96091, 96094, 
    96095, 96098, 96099, 96102, 96103, 
    96383, 96384, 96385, 96386, 96387, 
    96388, 96389, 96390, 96391, 96398, 
    96399, 96400, 98600, 98601, 98603, 
    98607, 98609, 98611, 98612, 98613, 
    98616, 98626, 98628, 98630, 98631, 
    98632, 98633, 98635, 98637, 98639, 
    98640, 98641, 98644, 98645, 98646, 
    98647, 98649, 98650, 98652, 98653, 
    98657, 98658, 98659, 98661, 98663, 
    98665, 98666, 98667, 98668, 98669
  )

Query time 0.00068

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 (95225,95226,95228,95229,95231,95233,95235,95237,95239,95241,95243,95245,95970,95971,95972,95973,95974,95975,95976,96051,96053,96055,96057,96059,96061,96062,96064,96066,96068,96070,96072,96074,96076,96078,96082,96083,96086,96087,96090,96091,96094,96095,96098,96099,96102,96103,96383,96384,96385,96386,96387,96388,96389,96390,96391,96398,96399,96400,98600,98601,98603,98607,98609,98611,98612,98613,98616,98626,98628,98630,98631,98632,98633,98635,98637,98639,98640,98641,98644,98645,98646,98647,98649,98650,98652,98653,98657,98658,98659,98661,98663,98665,98666,98667,98668,98669))",
          "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"
          ]
        }
      }
    ]
  }
}