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 (103, 102) 
  AND pfv.product_id IN (
    20978, 20980, 20981, 20982, 20983, 20984, 
    20985, 20986, 20987
  ) 
  AND pfv.lang_code = 'en'

Query time 0.00088

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "5.15"
    },
    "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",
          "used_key_parts": [
            "product_id",
            "feature_id"
          ],
          "key_length": "6",
          "rows_examined_per_scan": 18,
          "rows_produced_per_join": 1,
          "filtered": "10.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "4.31",
            "eval_cost": "0.18",
            "prefix_cost": "4.49",
            "data_read_per_join": "1K"
          },
          "used_columns": [
            "feature_id",
            "product_id",
            "variant_id",
            "lang_code"
          ],
          "attached_condition": "((`cscart_db`.`pfv`.`feature_id` in (103,102)) and (`cscart_db`.`pfv`.`product_id` in (20978,20980,20981,20982,20983,20984,20985,20986,20987)) and (`cscart_db`.`pfv`.`lang_code` = 'en'))"
        }
      },
      {
        "table": {
          "table_name": "fv",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY",
            "feature_id",
            "variant_feature_idx",
            "idx_var_feat_pos"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "variant_id"
          ],
          "key_length": "3",
          "ref": [
            "cscart_db.pfv.variant_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 0,
          "filtered": "5.00",
          "cost_info": {
            "read_cost": "0.45",
            "eval_cost": "0.01",
            "prefix_cost": "5.12",
            "data_read_per_join": "105"
          },
          "used_columns": [
            "variant_id",
            "feature_id",
            "position"
          ],
          "attached_condition": "(`cscart_db`.`fv`.`feature_id` = `cscart_db`.`pfv`.`feature_id`)"
        }
      },
      {
        "table": {
          "table_name": "fvd",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "variant_id",
            "lang_code"
          ],
          "key_length": "9",
          "ref": [
            "cscart_db.pfv.variant_id",
            "const"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 0,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "0.02",
            "eval_cost": "0.01",
            "prefix_cost": "5.15",
            "data_read_per_join": "689"
          },
          "used_columns": [
            "variant_id",
            "variant",
            "lang_code"
          ]
        }
      }
    ]
  }
}

Result

feature_id product_id variant_id position variant
102 20978 22146 0 Pack of 12
103 20978 35694 0 Assorted Mix
102 20980 22146 0 Pack of 12
103 20980 35859 0 Peach
102 20981 30363 0 Pack of 24
103 20981 35859 0 Peach
102 20982 22146 0 Pack of 12
103 20982 27840 0 Cranberry
102 20983 30363 0 Pack of 24
103 20983 27840 0 Cranberry
102 20984 22146 0 Pack of 12
103 20984 22070 160 Lemon
102 20985 30363 0 Pack of 24
103 20985 22070 160 Lemon
102 20986 30363 0 Pack of 24
103 20986 21907 40 Orange
102 20987 22146 0 Pack of 12
103 20987 21907 40 Orange