Oto, co odniosłem do tej pory sukces:
- Korzystanie z wyzwalaczy — możesz ustawić wyzwalacze w tabelach źródłowych, na których kompilujesz widok. Minimalizuje to zużycie zasobów, ponieważ odświeżanie odbywa się tylko w razie potrzeby. Ponadto dane w zmaterializowanym widoku są w czasie rzeczywistym
- Korzystanie z zadań cron z procedurami składowanymi lub skryptami SQL — odświeżanie odbywa się regularnie. Masz większą kontrolę nad tym, kiedy wykorzystywane są zasoby. Oczywiście Twoje dane są tylko tak świeże, jak pozwala na to częstotliwość odświeżania.
- Korzystanie z zaplanowanych zdarzeń MySQL — podobne do 2, ale działa w bazie danych
- Flexviews — używanie FlexDC wspomniane przez Justina. Najbliżej prawdziwych zmaterializowanych widoków
Zebrałem i przeanalizowałem te metody, ich zalety i wady w moim artykule Tworzenie zmaterializowanych widoków MySQL
czekam na opinie lub propozycje innych metod tworzenia zmaterializowanych widoków w MySQL