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 (
    94311, 94312, 94313, 94314, 94315, 94316, 
    94317, 94318, 94319, 94320, 94321, 
    94322, 94323, 94324, 94325, 94326, 
    94327, 94328, 94329, 94330, 94331, 
    94332, 94381, 94838, 94849, 94958, 
    94965, 94966, 94967, 94968, 94969, 
    94970, 94971, 94972, 94973, 94974, 
    94975, 94976, 94977, 94978, 94979, 
    94980, 94981, 94982, 94983, 94984, 
    94985, 94986, 94987, 94988, 94989, 
    94990, 94991, 94992, 94993, 94994, 
    94995, 94996, 94997, 94998, 94999, 
    95000, 95001, 95002, 95003, 95004, 
    95005, 95006, 95007, 95008, 95009, 
    95010, 95011, 95012, 95013, 95014, 
    95015, 95016, 95017, 95018, 95019, 
    95020, 95021, 95022, 95023, 95024, 
    95025, 95026, 95027, 95028, 95029, 
    95030, 95031, 95032, 95033, 95034
  )

Query time 0.00081

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 (94311,94312,94313,94314,94315,94316,94317,94318,94319,94320,94321,94322,94323,94324,94325,94326,94327,94328,94329,94330,94331,94332,94381,94838,94849,94958,94965,94966,94967,94968,94969,94970,94971,94972,94973,94974,94975,94976,94977,94978,94979,94980,94981,94982,94983,94984,94985,94986,94987,94988,94989,94990,94991,94992,94993,94994,94995,94996,94997,94998,94999,95000,95001,95002,95003,95004,95005,95006,95007,95008,95009,95010,95011,95012,95013,95014,95015,95016,95017,95018,95019,95020,95021,95022,95023,95024,95025,95026,95027,95028,95029,95030,95031,95032,95033,95034))",
          "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"
          ]
        }
      }
    ]
  }
}