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 (
    93532, 93819, 93820, 93821, 93822, 93823, 
    93824, 93831, 93846, 93847, 93855, 
    93856, 93857, 93858, 93878, 93879, 
    93880, 93881, 94161, 94162, 94163, 
    94164, 94435, 94442, 94443, 94444, 
    94445, 94446, 94592, 94593, 94594, 
    94650, 94662, 94814, 94815, 94837, 
    95443, 95444, 95445, 95446, 95447, 
    95791, 95792, 95793, 95794, 95795, 
    95796, 95797, 95798, 95799, 95800, 
    95801, 95802, 95804, 95806, 95808, 
    95810, 95812, 96564, 96565, 96566, 
    96567, 96568, 97716, 97717, 97718, 
    97774, 97786, 98146, 98148, 98152, 
    98155, 98407, 98408, 98409, 98410, 
    98552, 98553, 98554, 98555, 98556, 
    98763, 98764, 98765, 98766, 98767, 
    98768, 98818, 98822, 98826, 98830, 
    98859, 98860, 98861, 98862, 98863
  )

Query time 0.00070

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 (93532,93819,93820,93821,93822,93823,93824,93831,93846,93847,93855,93856,93857,93858,93878,93879,93880,93881,94161,94162,94163,94164,94435,94442,94443,94444,94445,94446,94592,94593,94594,94650,94662,94814,94815,94837,95443,95444,95445,95446,95447,95791,95792,95793,95794,95795,95796,95797,95798,95799,95800,95801,95802,95804,95806,95808,95810,95812,96564,96565,96566,96567,96568,97716,97717,97718,97774,97786,98146,98148,98152,98155,98407,98408,98409,98410,98552,98553,98554,98555,98556,98763,98764,98765,98766,98767,98768,98818,98822,98826,98830,98859,98860,98861,98862,98863))",
          "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"
          ]
        }
      }
    ]
  }
}