Jag har ett projekt som heter Flexviews (http://github.com/greenlion/swanhart-tools ) som lägger till stegvis uppdateringsbara materialiserade vyer till MySQL (aka snabbuppdatering), även för vyer som använder kopplingar och aggregering. Jag har jobbat med det här projektet i tre år. Den innehåller ett verktyg för att fånga ändringsdata för att läsa databasloggarna. Inga utlösare används.
Den innehåller två uppdateringsmetoder. Den första liknar din metod, förutom att en ny version byggs, och sedan används RENAME TABLE för att byta ut den nya mot den gamla. Vid ingen tidpunkt är vyn otillgänglig för sökning, men 2x utrymmet används under en kort tid.
Den andra metoden är sann "snabbuppdatering", den har till och med stöd för aggregering och sammanfogningar.
Det finns ett blogginlägg om det:http://www.mysqlperformanceblog.com/2011/04/04/flexviews-part-3-improving-query-performance-using-materialized-views/
Flexviews är betydligt mer avancerat än FromDual-exemplet som astander refererar till.