sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo implementar Vista materializada con MySQL?

Mantengo un proyecto llamado Flexviews (http://github.com/greenlion/swanhart-tools ) que agrega vistas materializadas incrementalmente actualizables a MySQL (también conocido como actualización rápida), incluso para vistas que usan uniones y agregación. He estado trabajando en este proyecto durante tres años. Incluye una utilidad de captura de datos modificados para leer los registros de la base de datos. No se utilizan disparadores.

Incluye dos métodos de actualización. El primero es similar a su método, excepto que se construye una nueva versión, y luego se usa RENAME TABLE para intercambiar lo nuevo por lo antiguo. En ningún momento la vista no está disponible para realizar consultas, pero se utiliza el doble de espacio durante un breve periodo de tiempo.

El segundo método es verdadero "actualización rápida", incluso tiene soporte para agregación y uniones.

Hay una publicación de blog al respecto:vistas-materializadas/">http://www.mysqlperformanceblog.com/2011/04/04/flexviews-part-3-improving-query-performance-using-materialized-views/

Flexviews es significativamente más avanzado que el ejemplo FromDual mencionado por astander.