SELECT 
  a.*, 
  b.description 
FROM 
  ushop_currencies as a 
  LEFT JOIN ushop_currency_descriptions as b ON a.currency_id = b.currency_id 
  AND lang_code = 'es' 
  LEFT JOIN ushop_storefronts_currencies AS storefronts_currencies ON storefronts_currencies.currency_id = a.currency_id 
WHERE 
  1 
  AND (
    storefronts_currencies.storefront_id IN (1) 
    OR storefronts_currencies.storefront_id IS NULL
  ) 
ORDER BY 
  a.position

Query time 0.00043

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "4.11"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "3.00"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "storefronts_currencies",
            "access_type": "system",
            "rows_examined_per_scan": 0,
            "rows_produced_per_join": 1,
            "filtered": "0.00",
            "const_row_not_found": true,
            "cost_info": {
              "read_cost": "0.00",
              "eval_cost": "0.10",
              "prefix_cost": "0.00",
              "data_read_per_join": "16"
            },
            "used_columns": [
              "storefront_id",
              "currency_id"
            ]
          }
        },
        {
          "table": {
            "table_name": "a",
            "access_type": "ALL",
            "rows_examined_per_scan": 3,
            "rows_produced_per_join": 3,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.51",
              "eval_cost": "0.30",
              "prefix_cost": "0.81",
              "data_read_per_join": "384"
            },
            "used_columns": [
              "currency_id",
              "currency_code",
              "after",
              "symbol",
              "coefficient",
              "is_primary",
              "position",
              "decimals_separator",
              "thousands_separator",
              "decimals",
              "status",
              "modifier_rate",
              "modifier_type",
              "modifier_sign",
              "auto_update",
              "next_update"
            ]
          }
        },
        {
          "table": {
            "table_name": "b",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "currency_id",
              "lang_code"
            ],
            "key_length": "9",
            "ref": [
              "marketplace.a.currency_id",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 3,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.00",
              "eval_cost": "0.30",
              "prefix_cost": "1.11",
              "data_read_per_join": "2K"
            },
            "used_columns": [
              "currency_id",
              "description",
              "lang_code"
            ]
          }
        }
      ]
    }
  }
}

Result

currency_id currency_code after symbol coefficient is_primary position decimals_separator thousands_separator decimals status modifier_rate modifier_type modifier_sign auto_update next_update description
4 UYU N $ 1.00000 Y 0 , . 2 A 0.00000 A A N 0 Pesos uruguayos
1 USD N $ 1.00000 N 10 . , 2 D 0.00000 A A N 0 Dólares
2 EUR N 1.28000 N 20 . , 2 D 0.00000 A A N 0 Euro