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 (
    85896, 85897, 85902, 85884, 85903, 85885, 
    85899, 85890, 85898, 85891, 85905, 
    85887, 85904, 85886, 85893, 85895, 
    85892, 85901, 85883, 85889, 85879, 
    85880, 85874, 85875, 85881, 85876, 
    85878, 85873, 85877, 85872, 85914, 
    85915, 85919, 85946, 85947, 85912, 
    85945, 85926, 85923, 85928, 85921, 
    85943, 85944, 85942, 85937, 85938, 
    85936, 85934, 85935, 85940, 85941, 
    85933, 85939, 85959, 85957, 85931, 
    85932, 85930, 85954, 85953, 85950, 
    85951, 85948, 85909, 84692, 85910, 
    85911, 84957, 85906, 85907, 84852, 
    84751, 87975, 85908, 84753, 84860, 
    84863, 92922, 92923, 92924, 92925, 
    92926, 92927, 92928, 92929, 92930, 
    92931, 92932, 92933
  )

Query time 0.00077

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 (85896,85897,85902,85884,85903,85885,85899,85890,85898,85891,85905,85887,85904,85886,85893,85895,85892,85901,85883,85889,85879,85880,85874,85875,85881,85876,85878,85873,85877,85872,85914,85915,85919,85946,85947,85912,85945,85926,85923,85928,85921,85943,85944,85942,85937,85938,85936,85934,85935,85940,85941,85933,85939,85959,85957,85931,85932,85930,85954,85953,85950,85951,85948,85909,84692,85910,85911,84957,85906,85907,84852,84751,87975,85908,84753,84860,84863,92922,92923,92924,92925,92926,92927,92928,92929,92930,92931,92932,92933))",
          "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"
          ]
        }
      }
    ]
  }
}