Aqui está o que eu tive sucesso até agora:
- Usando acionadores - você pode definir acionadores nas tabelas de origem nas quais você cria a visualização. Isso minimiza o uso de recursos, pois a atualização é feita apenas quando necessário. Além disso, os dados na visualização materializada são em tempo real
- Usando tarefas cron com procedimentos armazenados ou scripts SQL - a atualização é feita regularmente. Você tem mais controle sobre quando os recursos são usados. Obviamente, seus dados são tão atualizados quanto a taxa de atualização permite.
- Usando eventos programados do MySQL - semelhantes a 2, mas executados dentro do banco de dados
- Flexviews - usando o FlexDC mencionado por Justin. A coisa mais próxima de visualizações materializadas reais
Eu tenho coletado e analisado esses métodos, seus prós e contras no meu artigo Criando visualizações materializadas do MySQL
aguardando feedback ou propostas de outros métodos para criar visualizações materializadas no MySQL