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 (
    95171, 95172, 95173, 95174, 95175, 95176, 
    95177, 95178, 95179, 95180, 95181, 
    95182, 95183, 95184, 95185, 95186, 
    95187, 95188, 95189, 95190, 95191, 
    95192, 95193, 95194, 95195, 95196, 
    95197, 95198, 95199, 95200, 95201, 
    95202, 95203, 95204, 95205, 95206, 
    95207, 95208, 95209, 95210, 95211, 
    95212, 95213, 95214, 95215, 95216, 
    95217, 95218, 95219, 95220, 95221, 
    95222, 95223, 95224, 95225, 95226, 
    95227, 95228, 95229, 95230, 95231, 
    95232, 95233, 95234, 95235, 95236, 
    95237, 95238, 95239, 95240, 95241, 
    95242, 95243, 95244, 95245, 95970, 
    95971, 95972, 95973, 95974, 95975, 
    95976, 96050, 96051, 96052, 96053, 
    96054, 96055, 96056, 96057, 96058, 
    96059, 96060, 96061, 96062, 96063
  )

Query time 0.00035

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 (95171,95172,95173,95174,95175,95176,95177,95178,95179,95180,95181,95182,95183,95184,95185,95186,95187,95188,95189,95190,95191,95192,95193,95194,95195,95196,95197,95198,95199,95200,95201,95202,95203,95204,95205,95206,95207,95208,95209,95210,95211,95212,95213,95214,95215,95216,95217,95218,95219,95220,95221,95222,95223,95224,95225,95226,95227,95228,95229,95230,95231,95232,95233,95234,95235,95236,95237,95238,95239,95240,95241,95242,95243,95244,95245,95970,95971,95972,95973,95974,95975,95976,96050,96051,96052,96053,96054,96055,96056,96057,96058,96059,96060,96061,96062,96063))",
          "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"
          ]
        }
      }
    ]
  }
}