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 (
    23875, 23919, 21623, 21667, 21219, 21384, 
    24831, 21387, 23431, 21386, 24830, 
    22548, 24832, 21222
  ) 
  AND pfv.product_id IN (
    38138, 38137, 23152, 23267, 2149, 1896, 
    47632, 1893, 33310, 1894, 47631, 41345, 
    47597, 2139
  ) 
  AND pfv.lang_code = 'vi'

Query time 0.02444

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": "idx_product_feature_variant_id",
          "key_length": "12",
          "used_key_parts": ["product_id", "feature_id", "lang_code"],
          "rows": 198,
          "filtered": 0.035308164,
          "attached_condition": "pfv.feature_id in (23875,23919,21623,21667,21219,21384,24831,21387,23431,21386,24830,22548,24832,21222) and pfv.product_id in (38138,38137,23152,23267,2149,1896,47632,1893,33310,1894,47631,41345,47597,2139) 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
21387 1893 74806 0 Gỗ Thông
21386 1894 74804 0 Gỗ Thông
21384 1896 74800 0 Gỗ Thông
21222 2139 74230 0 Túi 200gr
21219 2149 74225 0 Màu xanh dương
21623 23152 75622 0 Đũa gỗ trắc đầu vỏ ốc bọc bạc
21667 23267 75771 0 Cốc cà phê Đại Hà Nội Đông Gia
23431 33310 81267 1 Hộp sen
23919 38137 83192 1 Mẫu 1
23875 38138 83063 1 Mẫu 1
22548 41345 79169 2 Tiêu Đỏ kèm lọ xay tiêu
24832 47597 86594 1 Sen trắng
24830 47631 86591 2 Sen hồng
24831 47632 86593 2 Sen hồng