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 (
    19653, 19652, 23490, 24704, 20450, 22665, 
    23535, 23479, 22572, 21598, 24436, 
    21943, 22677, 21915, 22541, 21055, 
    19961
  ) 
  AND pfv.product_id IN (
    6552, 6553, 33720, 46749, 18748, 2254, 
    35187, 33697, 2258, 1532, 43797, 992, 
    1838, 1056, 79, 2460, 5723
  ) 
  AND pfv.lang_code = 'vi'

Query time 0.01892

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.04011374,
          "attached_condition": "pfv.feature_id in (19653,19652,23490,24704,20450,22665,23535,23479,22572,21598,24436,21943,22677,21915,22541,21055,19961) and pfv.product_id in (6552,6553,33720,46749,18748,2254,35187,33697,2258,1532,43797,992,1838,1056,79,2460,5723) 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
19652 6553 68355 0 Hộp 50g
19653 6552 68358 0 Hộp 50g
19961 5723 69768 0 Be
20450 18748 71549 0 Vỏ gối kèm ruột
21055 2460 73522 0 70g
21598 1532 75524 0 Hũ 120gr
21915 1056 76710 0 Màu cam
21943 992 76827 0 Bông tai
22541 79 79145 0 Trà Oolong Hộp Túi Gấm Màu Xanh Lá - Kim Tuyên Mùa Xuân
22572 2258 79229 0 RADERMECKER
22665 2254 79349 1 RADERMECKER
22677 1838 79377 1 Mẫu 1
23479 33697 81479 1 Cúc đỏ
23490 33720 81505 1 Size XS
23535 35187 81676 1 Màu đen
24436 43797 85226 0 Hũ lớn
24704 46749 86166 2 Nâu đậm