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 (
    19837, 23349, 19990, 19960, 20043, 20294, 
    20251, 20035, 21910, 20301, 20033, 
    19838, 20037, 23253, 20255, 23490, 
    23345
  ) 
  AND pfv.product_id IN (
    5963, 32498, 5589, 5724, 5447, 4365, 
    4468, 5469, 1064, 4358, 5474, 5962, 
    5464, 31875, 4464, 33714, 32487
  ) 
  AND pfv.lang_code = 'vi'

Query time 0.02655

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": 325,
          "filtered": 0.037788961,
          "attached_condition": "pfv.feature_id in (19837,23349,19990,19960,20043,20294,20251,20035,21910,20301,20033,19838,20037,23253,20255,23490,23345) and pfv.product_id in (5963,32498,5589,5724,5447,4365,4468,5469,1064,4358,5474,5962,5464,31875,4464,33714,32487) 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
19837 5963 68974 0 Tâm
19838 5962 68979 0 Nghĩ khác đi, làm khác đi
19960 5724 69763 0 Hồng nhạt
19990 5589 69871 0 Áo và váy
20033 5474 70046 0 Vượt mọi thử thách
20035 5469 70053 0 Thuận Buồm Xuôi Gió
20037 5464 70066 0 Người chèo thuyền GIỎI không đến từ VÙNG BIỂN LẶNG SÓNG
20043 5447 70096 0 Tín
20251 4468 70871 0 Trắng trơn
20255 4464 70879 0 Người chèo thuyền GIỎI không đến từ VÙNG BIỂN LẶNG SÓNG
20294 4365 70996 0 Cứ đi rồi sẽ đến
20301 4358 71024 0 Đầu tư
21910 1064 76692 0 Tranh hoa Cam " Stop waiting for tomorrow, start now"
23253 31875 80636 1 Size S
23345 32487 80982 1 Hồng
23349 32498 80996 1 Sticker die-cut
23490 33714 81505 1 Size XS