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 (
    6963, 6952, 6953, 3484, 3487, 3485, 3486, 
    6969, 3434, 6947, 3424, 3911, 3422, 
    3910, 3421, 3909, 3420, 3423, 3912, 
    3430, 3429, 3437, 3436, 3438, 6959, 
    3425, 6958, 6960, 6968, 6961, 6964, 
    6957, 6956, 6954, 6955, 3500, 3501, 
    3431, 6948, 3499, 3914, 3913, 3455, 
    3466, 3454, 3456, 3449, 3461, 3441, 
    3444, 3471, 3442, 3480, 3448, 3440, 
    3467, 3468, 3435, 3476, 3447, 3439, 
    3465, 3446, 3460, 3443, 3469, 3464, 
    3459, 6950, 3470, 3457, 3462, 3450, 
    3458, 3463, 3451, 3445, 3472, 3481, 
    3482, 3475, 3483, 3474, 3473, 3426, 
    6949, 3427, 3477, 3452, 3478, 3479, 
    3453, 3491, 3488, 3497, 3495
  )

Query time 0.00104

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "201.61"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "p",
          "access_type": "range",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "product_id"
          ],
          "key_length": "3",
          "rows_examined_per_scan": 96,
          "rows_produced_per_join": 96,
          "filtered": "100.00",
          "index_condition": "(`gaseus`.`p`.`product_id` in (6963,6952,6953,3484,3487,3485,3486,6969,3434,6947,3424,3911,3422,3910,3421,3909,3420,3423,3912,3430,3429,3437,3436,3438,6959,3425,6958,6960,6968,6961,6964,6957,6956,6954,6955,3500,3501,3431,6948,3499,3914,3913,3455,3466,3454,3456,3449,3461,3441,3444,3471,3442,3480,3448,3440,3467,3468,3435,3476,3447,3439,3465,3446,3460,3443,3469,3464,3459,6950,3470,3457,3462,3450,3458,3463,3451,3445,3472,3481,3482,3475,3483,3474,3473,3426,6949,3427,3477,3452,3478,3479,3453,3491,3488,3497,3495))",
          "cost_info": {
            "read_cost": "57.61",
            "eval_cost": "9.60",
            "prefix_cost": "67.21",
            "data_read_per_join": "1K"
          },
          "used_columns": [
            "product_id",
            "parent_product_id",
            "group_id"
          ]
        }
      },
      {
        "table": {
          "table_name": "g",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "id"
          ],
          "key_length": "3",
          "ref": [
            "gaseus.p.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 96,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "24.00",
            "eval_cost": "9.60",
            "prefix_cost": "100.81",
            "data_read_per_join": "37K"
          },
          "used_columns": [
            "id",
            "code"
          ]
        }
      },
      {
        "table": {
          "table_name": "f",
          "access_type": "ref",
          "possible_keys": [
            "idx_group_id"
          ],
          "key": "idx_group_id",
          "used_key_parts": [
            "group_id"
          ],
          "key_length": "3",
          "ref": [
            "gaseus.p.group_id"
          ],
          "rows_examined_per_scan": 3,
          "rows_produced_per_join": 288,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "72.00",
            "eval_cost": "28.80",
            "prefix_cost": "201.61",
            "data_read_per_join": "29K"
          },
          "used_columns": [
            "feature_id",
            "purpose",
            "group_id"
          ]
        }
      }
    ]
  }
}