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 (
    91667, 91669, 91670, 91671, 91672, 91673, 
    91674, 91675, 91676, 91677, 91699, 
    91648, 91658, 91668, 91772, 91771, 
    91770, 83923, 83930, 83927, 91765, 
    83934, 91766, 83919, 83937, 91769, 
    83936, 91768, 83935, 91767, 83918, 
    83914, 83917, 83920, 83922, 83926, 
    83928, 83929, 91836, 83931, 83932, 
    83916, 83925, 83913, 83921, 83933, 
    83915, 83924, 89118, 89119, 89120, 
    89150, 89151, 89152, 89154, 89155, 
    89156, 89130, 89131, 89132, 89134, 
    89135, 89136, 89138, 89139, 89140, 
    89142, 89143, 89144, 89146, 89147, 
    89148, 91785, 91786, 91773, 91775, 
    91781, 91782, 91774, 91776, 91778, 
    91780, 92526, 91783, 91784, 91777, 
    91779, 92525, 92524, 92539, 92538, 
    92523, 92536, 92537, 92535, 92534
  )

Query time 0.00041

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 (91667,91669,91670,91671,91672,91673,91674,91675,91676,91677,91699,91648,91658,91668,91772,91771,91770,83923,83930,83927,91765,83934,91766,83919,83937,91769,83936,91768,83935,91767,83918,83914,83917,83920,83922,83926,83928,83929,91836,83931,83932,83916,83925,83913,83921,83933,83915,83924,89118,89119,89120,89150,89151,89152,89154,89155,89156,89130,89131,89132,89134,89135,89136,89138,89139,89140,89142,89143,89144,89146,89147,89148,91785,91786,91773,91775,91781,91782,91774,91776,91778,91780,92526,91783,91784,91777,91779,92525,92524,92539,92538,92523,92536,92537,92535,92534))",
          "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"
          ]
        }
      }
    ]
  }
}