L'esempio si avvicina a una vista materializzata "aggiornamento completo". Potrebbe essere necessaria una vista di "aggiornamento rapido", spesso utilizzata in un'impostazione di data warehouse, se le tabelle di origine includono milioni o miliardi di righe.
Si approssima un rapido aggiornamento utilizzando invece insert/update (upsert) unendo la "tabella di visualizzazione" esistente alle chiavi primarie delle viste di origine (presupponendo che possano essere conservate in chiave) o mantenendo un data_time dell'ultimo aggiornamento e utilizzandolo nei criteri dell'aggiornamento SQL per ridurre il tempo di aggiornamento.
Inoltre, si consideri l'utilizzo della ridenominazione delle tabelle, piuttosto che la funzione di rilascio/creazione, in modo che la nuova vista possa essere costruita e implementata senza quasi nessuna interruzione di indisponibilità. Costruisci prima una nuova tabella 'mview_new', quindi rinomina 'mview' in 'mview_old' (o rilasciatela) e rinomina 'mview_new' in 'mview'. Nell'esempio sopra riportato, la visualizzazione non sarà disponibile mentre è in esecuzione SQL Populate.
Dai un'occhiata a [Viste materializzate con MySQL] (http://www.fromdual.com/mysql-materialized-view) –