The source of the minerals that drive efflorescence and spalling from the migration of moisture is normally primarily within the concrete or mortar bed substrate, and the best way to control efflorescence is by controlling the moisture. The best solution is to put a tile ANSI A118.10/12 waterproof/crack isolation membrane over the mortar bed and bond the tile to it. Make sure the slope of the primary waterproof membrane on the deck and the mortar bed are sloped to drain at least 1/4" per foot and that the moisture has a good path of escape at both membrane levels.
When there are serious efflorescence and spalling conditions it is because the substrate and tile are being subjected excessive moisture due to poor design or improper tile installation. Good Luck.