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 (
    91791, 91792, 91793, 91794, 91795, 92254, 
    92501, 92502, 92503, 92504, 92505, 
    92506, 92507, 88904, 86858, 84701, 
    88959, 88960, 88962, 82353, 92192, 
    92193, 92194, 92195, 92196, 92204, 
    92205, 92206, 92207, 92208, 92209, 
    92442, 92443, 92448, 92001, 92147, 
    92148, 92149, 92349, 92350, 92351, 
    92352, 85647, 85801, 85802, 91938, 
    84700, 86864, 88961, 85800, 82352, 
    91937, 91939, 91940, 91941, 91942, 
    91943, 88957, 88958, 85644, 88942, 
    86856, 88969, 88970, 88973, 88974, 
    87280, 87288, 85580, 86863, 82386, 
    88094, 89442, 89444, 88967, 88968, 
    88971, 88972, 88955, 88956, 92151, 
    92152, 92153, 92353, 92354, 92355, 
    92356, 88953, 88954, 87879, 82403, 
    82410, 82424, 91893, 91894, 91895
  )

Query time 0.00067

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 (91791,91792,91793,91794,91795,92254,92501,92502,92503,92504,92505,92506,92507,88904,86858,84701,88959,88960,88962,82353,92192,92193,92194,92195,92196,92204,92205,92206,92207,92208,92209,92442,92443,92448,92001,92147,92148,92149,92349,92350,92351,92352,85647,85801,85802,91938,84700,86864,88961,85800,82352,91937,91939,91940,91941,91942,91943,88957,88958,85644,88942,86856,88969,88970,88973,88974,87280,87288,85580,86863,82386,88094,89442,89444,88967,88968,88971,88972,88955,88956,92151,92152,92153,92353,92354,92355,92356,88953,88954,87879,82403,82410,82424,91893,91894,91895))",
          "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"
          ]
        }
      }
    ]
  }
}