SELECT 
  pfv.feature_id, 
  pfv.product_id, 
  pfv.variant_id, 
  fv.position, 
  fvd.variant 
FROM 
  cscart_product_features_values AS pfv 
  INNER JOIN cscart_product_feature_variants AS fv ON pfv.feature_id = fv.feature_id 
  AND pfv.variant_id = fv.variant_id 
  INNER JOIN cscart_product_feature_variant_descriptions AS fvd ON pfv.variant_id = fvd.variant_id 
  AND fvd.lang_code = 'vi' 
WHERE 
  pfv.feature_id IN (
    23533, 23530, 24231, 19649, 23490, 21265, 
    23755, 24224, 22572, 21918, 22573, 
    21267, 23757, 19648, 22368, 22576, 
    22561
  ) 
  AND pfv.product_id IN (
    35176, 35172, 41429, 6556, 33716, 33717, 
    36781, 41422, 2253, 1053, 2255, 36834, 
    6557, 25850, 2257, 2246, 33720
  ) 
  AND pfv.lang_code = 'vi'

Query time 0.03486

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "table": {
          "table_name": "pfv",
          "access_type": "range",
          "possible_keys": [
            "PRIMARY",
            "fl",
            "variant_id",
            "lang_code",
            "product_id",
            "fpl",
            "idx_product_feature_variant_id"
          ],
          "key": "PRIMARY",
          "key_length": "6",
          "used_key_parts": ["feature_id", "product_id"],
          "rows": 312,
          "filtered": 0.521378994,
          "attached_condition": "pfv.feature_id in (23533,23530,24231,19649,23490,21265,23755,24224,22572,21918,22573,21267,23757,19648,22368,22576,22561) and pfv.product_id in (35176,35172,41429,6556,33716,33717,36781,41422,2253,1053,2255,36834,6557,25850,2257,2246,33720) and pfv.lang_code = 'vi'",
          "using_index": true
        }
      },
      {
        "table": {
          "table_name": "fv",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "feature_id"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["variant_id"],
          "ref": ["dev_db.pfv.variant_id"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "fv.feature_id = pfv.feature_id"
        }
      },
      {
        "table": {
          "table_name": "fvd",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "9",
          "used_key_parts": ["variant_id", "lang_code"],
          "ref": ["dev_db.pfv.variant_id", "const"],
          "rows": 1,
          "filtered": 100,
          "index_condition": "fvd.lang_code = 'vi'"
        }
      }
    ]
  }
}

Result

feature_id product_id variant_id position variant
19648 6557 68337 0 My rose (Bản giới hạn)
19649 6556 68342 0 Full moon
21265 36781 74391 0 Đen
21267 36834 74407 0 Hồng Nude
21918 1053 76718 0 Túi móc kem phối da đỏ sậm hình thang ngược/ 37 x 16 x 38cm
22368 25850 78426 0 Nâu phối vàng
22561 2246 79208 0 RADERMECKER
22572 2253 79229 0 RADERMECKER
22573 2255 79232 0 RADERMECKER
22576 2257 79242 0 RADERMECKER
23490 33716 81505 1 Size XS
23490 33717 81505 1 Size XS
23490 33720 81505 1 Size XS
23530 35172 81665 1 Set 1
23533 35176 81672 1 Dây dài 12-15cm
23755 36781 82449 0 1,6m x 2m (+319,000 ₫)
23757 36834 82455 0 1.6m x 2m
24224 41422 84396 1 Xanh lá
24231 41429 84426 1 Đỏ