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 (
    20860, 24621, 24865, 24866, 21160, 20464, 
    24485, 24486, 20861, 24703, 22348, 
    20463, 22517, 23752, 20107, 20458, 
    20461, 19607
  ) 
  AND pfv.product_id IN (
    2922, 45507, 47984, 2278, 3874, 44424, 
    2920, 49306, 382, 3875, 112, 36746, 
    5141, 3880, 3877, 6615
  ) 
  AND pfv.lang_code = 'vi'

Query time 0.04125

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": 307,
          "filtered": 0.039800581,
          "attached_condition": "pfv.feature_id in (20860,24621,24865,24866,21160,20464,24485,24486,20861,24703,22348,20463,22517,23752,20107,20458,20461,19607) and pfv.product_id in (2922,45507,47984,2278,3874,44424,2920,49306,382,3875,112,36746,5141,3880,3877,6615) 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
19607 6615 68195 0 125g
20107 5141 70372 0 50g
20458 3880 71566 0 Trâu nhỏ
20461 3877 71572 0 Trâu nhỏ
20463 3875 71577 0 Trâu con
20464 3874 71580 0 Trâu con
20860 2922 72910 0 Màu nâu
20861 2920 72912 0 Màu vàng nhạt
21160 2278 74007 0 Mặt Trời
22348 382 78331 0 Set 3 Thanh
22517 112 79034 0 Hộp 250gr
23752 36746 82441 2 Bình giữ nhiệt vỏ tre
24485 44424 85404 1 After Rain
24486 44424 85415 1 200g
24621 45507 85931 1 Chấm màu cà phê
24703 49306 86163 3 Nâu đậm
24865 47984 86706 1 Rồng bố
24866 47984 86714 4 Vàng