Sin embargo, a diferencia de PostgreSQL o Oracle Database, MySQL no admite de forma nativa las vistas materializadas, lo que puede ser una gran desventaja. Sin embargo, eso no es razón para dejar de usar MySQL porque es una gran base de datos para las principales aplicaciones.
En este tutorial, discutiremos rápidamente cuáles son las opiniones materializadas, cómo funcionan, casos en los que son aplicables y cómo implementar vistas materializadas en MySQL.
NOTA: Supongo que tienes conocimiento básico de MySQL antes de sumergirte en esta guía.
¿Qué son las vistas materializadas??
Las vistas materializadas son resultados precalculados de una consulta almacenada en una tabla. A diferencia de una vista MySQL estándar, una vista materializada no es una ventana en una tabla de base de datos; almacena datos reales.
Estos tipos de objetos son muy útiles cuando necesita acceso inmediato a los datos, y una consulta regular de MySQL tomaría tiempo para procesar. Un buen ejemplo son los casos con un conjunto de datos grande que requiere muchos cálculos.
Dado que las vistas materializadas contienen datos reales, requieren refrescante para reflejar los valores actualizados desde la misma consulta. El intervalo de actualización para una vista materializada depende del contenido almacenado y de qué tan rápido están cambiando los datos.
¿MySQL admite vistas materializadas??
La respuesta simple es no. En MySQL, no hay un solo comando que pueda ejecutar para obtener una vista materializada. Por ejemplo, no puede escribir el comando a continuación y obtener lo que necesita:
Mysql> Crear vista materializada ..Afortunadamente, con algunos trucos y herramientas proporcionadas de forma nativa por MySQL, podemos implementar una visión materializada similar a una nativa proporcionada por PostgreSQL, Oracle y otros.
Cómo crear una vista materializada en MySQL
En esta sección, le mostraré una forma de implementar una vista materializada en MySQL.
NOTA: Aunque este método de taller ilustra una forma de crear una vista materializada en MySQL, no será perfecto en todas las bases de datos.
Supongamos que tenemos un esquema llamado (MV) que tiene una tabla llamada información, utilizada para almacenar la información de ventas como se muestra en las consultas a continuación:
Crear esquema MV;Usando una tabla de ejemplo arriba, podemos crear una tabla materializada que almacene información de una consulta como la que se muestra a continuación:
Seleccione Seller_id, _Date, Sum (Cantidad * 12 * 8) como Total_amount de Info Where _Date < CURRENT_DATE ORDER BY seller_id;La consulta puede no parecer efectiva, considerando el tamaño de la base de datos y la información almacenada en la tabla anterior porque se procesará muy rápido. Sin embargo, en una gran base de datos con mucha información, una consulta como la anterior podría tomar algún tiempo procesar.
En tal caso, podemos crear una vista materializada para almacenar la información de la consulta anterior, lo que nos permite acceder a la información más rápido simplemente seleccionándola desde la vista que no sea usar la consulta sin procesar cada vez.
Para crear una vista materializada, podemos crear una tabla con los resultados de la consulta anterior:
Crear tabla materializada_view (Cómo actualizar una vista materializada
Como ahora sabe, una vista materializada contiene datos reales; No es una instantánea de una mesa.
Eso significa que si se actualiza la tabla principal, los datos en la tabla de vista materializada necesitarán refrescarse.
Para actualizar una vista materializada, podemos usar el procedimiento que se muestra a continuación:
Delimitador $$A continuación, intente actualizar los datos almacenados en la tabla principal como:
Insertar en información (Seller_id, _Date, cantidad) Valores (101, "2021-01-05", 200), (111, "2021-01-05", 600), (121, "2021-02-05", 1000), ("131", "2021-01-05", 6000), ("141", "2021-01-05", 1400);Finalmente, intente actualizar los datos de la tabla Materialized_View utilizando el procedimiento que creamos anteriormente.
Llamar a refresh_materialv (@dev);Esto muestra los valores en la tabla de vista materializada actualizada.
Conclusión
Este tutorial discutió cuáles son las opiniones materializadas, cómo funcionan y cómo puede implementar uno cuando use MySQL. Considere practicar los conceptos que se enseñan en este tutorial a Master Working con vistas materializadas.