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 = 'en' 
WHERE 
  pfv.feature_id IN (
    21305, 20033, 23350, 24655, 24096, 20321, 
    19838, 20037, 21062, 24940, 22367, 
    21298, 24520, 23730, 20167, 24934, 
    24941, 20255, 19985, 20202
  ) 
  AND pfv.product_id IN (
    2001, 5474, 27854, 46273, 40535, 4293, 
    5962, 5464, 2453, 48683, 353, 2008, 
    44753, 36295, 4872, 48677, 48684, 4464, 
    5595, 4806
  ) 
  AND pfv.lang_code = 'en'

Query time 0.02924

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": 431,
          "filtered": 0.649866283,
          "attached_condition": "pfv.feature_id in (21305,20033,23350,24655,24096,20321,19838,20037,21062,24940,22367,21298,24520,23730,20167,24934,24941,20255,19985,20202) and pfv.product_id in (2001,5474,27854,46273,40535,4293,5962,5464,2453,48683,353,2008,44753,36295,4872,48677,48684,4464,5595,4806) and pfv.lang_code = 'en'",
          "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 = 'en'"
        }
      }
    ]
  }
}

Result

feature_id product_id variant_id position variant
19838 5962 68979 0 Nghĩ khác đi, làm khác đi
19985 5595 69849 0 Red
20033 5474 70046 0 Overcome obstacles
20037 5464 70066 0 Good rowers don't come from calm seas
20167 4872 70573 0 Flowers and fish
20202 4806 70690 0 Size 36 (24cm)
20255 4464 70879 0 Good rowers don't come from calm seas
20321 4293 71078 0 Metallic wood
21062 2453 73536 0 70g
21298 2008 74518 0 2ml
21305 2001 74539 0 2ml
22367 353 78422 0 Brown - Without strap
23350 27854 81002 1 Unscented
23730 36295 82372 1 Light brown
24096 40535 83964 1 Design 1
24520 44753 85538 1 Gold-plated copper ring - Small Band
24655 46273 86037 3 Black
24934 48677 86938 1 Single candle 100g
24940 48683 86962 1 Single candle 100g
24941 48684 86966 1 Single candle 100g