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 (
    7, 11, 12, 15, 27, 28, 29, 30, 31, 32, 33, 
    34, 37, 38, 39, 40, 41, 42, 43, 47, 48, 
    49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 
    59, 60, 62, 63, 64, 65, 67, 68, 69, 70, 
    71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 
    82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 
    92, 93, 94
  )

Query time 0.00173

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "table": {
          "table_name": "g",
          "access_type": "system",
          "possible_keys": ["PRIMARY"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "f",
          "access_type": "ref",
          "possible_keys": ["idx_group_id"],
          "key": "idx_group_id",
          "key_length": "3",
          "used_key_parts": ["group_id"],
          "ref": ["const"],
          "rows": 2,
          "filtered": 100
        }
      },
      {
        "block-nl-join": {
          "table": {
            "table_name": "p",
            "access_type": "ALL",
            "possible_keys": ["PRIMARY", "idx_group_id"],
            "rows": 7,
            "filtered": 100,
            "attached_condition": "p.group_id = 10 and p.product_id in (7,11,12,15,27,28,29,30,31,32,33,34,37,38,39,40,41,42,43,47,48,49,50,51,52,53,54,55,56,57,58,59,60,62,63,64,65,67,68,69,70,71,72,73,74,75,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94)"
          },
          "buffer_type": "flat",
          "buffer_size": "1Kb",
          "join_type": "BNL"
        }
      }
    ]
  }
}