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 (
    23620, 23621, 23622, 23623, 20040, 23624, 
    23625, 19842, 20032, 23469, 23470, 
    19841, 20034, 20038, 19843, 19839, 
    20036, 23626, 20042, 20296, 19844, 
    20041, 19837, 20043, 20294, 20035, 
    20251, 20037, 20033
  ) 
  AND pfv.product_id IN (
    35839, 35731, 5455, 35869, 5958, 5476, 
    33631, 5959, 5472, 5462, 5957, 5961, 
    16802, 35733, 5448, 4363, 5956, 5451, 
    5963, 5447, 4365, 5469, 4468, 5464, 
    5474
  ) 
  AND pfv.lang_code = 'vi'

Query time 0.03212

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": 537,
            "selectivity_pct": 0.33943516
          },
          "rows": 148,
          "filtered": 0.33943516,
          "index_condition": "pfv.product_id in (35839,35731,5455,35869,5958,5476,33631,5959,5472,5462,5957,5961,16802,35733,5448,4363,5956,5451,5963,5447,4365,5469,4468,5464,5474)",
          "attached_condition": "pfv.feature_id in (23620,23621,23622,23623,20040,23624,23625,19842,20032,23469,23470,19841,20034,20038,19843,19839,20036,23626,20042,20296,19844,20041,19837,20043,20294,20035,20251,20037,20033) 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
20296 4363 71006 0 Chớ thấy SÓNG CẢ mà NGÃ TAY CHÈO
20294 4365 70996 0 Cứ đi rồi sẽ đến
20251 4468 70871 0 Trắng trơn
20043 5447 70096 0 Tín
20042 5448 70090 0 Tín
20041 5451 70087 0 Trắng trơn
20040 5455 70084 0 Trắng trơn
20038 5462 70074 0 Người chèo thuyền GIỎI không đến từ VÙNG BIỂN LẶNG SÓNG
20037 5464 70066 0 Người chèo thuyền GIỎI không đến từ VÙNG BIỂN LẶNG SÓNG
20035 5469 70053 0 Thuận Buồm Xuôi Gió
20034 5472 70047 0 Nhẫn
20033 5474 70046 0 Vượt mọi thử thách
20032 5476 70035 0 Nhẫn
19844 5956 69032 0 Phát
19843 5957 69022 0 Think positive
19842 5958 69014 0 Phát
19841 5959 69004 0 Be creative
19839 5961 68986 0 Be creative
19837 5963 68974 0 Tâm
20036 16802 70064 0 Tri ân thầy cô
23469 33631 81444 5 Bộ gia đình chó
23470 33631 81445 1 Xanh lam
23623 35731 81913 1 Đỏ
23622 35731 81910 1 Mèo cái nằm
23626 35733 81927 1 Vàng
23621 35839 81905 1 Xanh lục
23620 35839 81904 7 Bộ gia đình mèo
23625 35869 81922 1 Nâu
23624 35869 81920 4 Bộ gia đình mèo