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 (
    20008, 23353, 23354, 24621, 24241, 21160, 
    20464, 21012, 21159, 19995, 24705, 
    24706, 23357, 20260, 20261, 19627, 
    20234, 21054, 21021, 20259
  ) 
  AND pfv.product_id IN (
    5549, 27863, 45507, 389, 2278, 3874, 
    2514, 2287, 5569, 46751, 6059, 6060, 
    4440, 18258, 14822, 18201, 2461, 2505, 
    4441
  ) 
  AND pfv.lang_code = 'vi'

Query time 0.06166

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": "product_id",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "rowid_filter": {
            "range": {
              "key": "fl",
              "used_key_parts": ["feature_id", "lang_code"]
            },
            "rows": 209,
            "selectivity_pct": 0.132107911
          },
          "rows": 106,
          "filtered": 0.132107913,
          "index_condition": "pfv.product_id in (5549,27863,45507,389,2278,3874,2514,2287,5569,46751,6059,6060,4440,18258,14822,18201,2461,2505,4441)",
          "attached_condition": "pfv.feature_id in (20008,23353,23354,24621,24241,21160,20464,21012,21159,19995,24705,24706,23357,20260,20261,19627,20234,21054,21021,20259) and pfv.lang_code = 'vi'"
        }
      },
      {
        "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
24241 389 84471 1 Camera Sài Gòn
21160 2278 74007 0 Mặt Trời
21159 2287 74004 0 Hũ Nhỏ
21054 2461 73520 0 70g
21021 2505 73437 0 Chai lẻ
21012 2514 73410 0 Lon lẻ
20464 3874 71580 0 Trâu con
20260 4440 70896 0 Mèo tím
20259 4441 70893 0 Girly
20008 5549 69930 0 Xay mịn espresso
19995 5569 69890 0 Nguyên hạt
23357 6059 81032 1 Hộp 50gr
23357 6060 81032 1 Hộp 50gr
19627 14822 68241 0 Dâu
20234 18201 70814 0 Hũ lớn
20261 18258 70897 0 Hổ trắng
23353 27863 81017 1 Hoa lá
23354 27863 81022 1 30g
24621 45507 85931 1 Chấm màu cà phê
24706 46751 86171 2 Aeropress
24705 46751 86168 1 250g