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

¿Las vistas MySql son dinámicas y eficientes?

Básicamente, hay básicamente 2 tipos de vistas en MySQL.

  1. Fusionar vistas

    Este tipo de vista básicamente vuelve a escribir sus consultas con el SQL de la vista. Por lo tanto, es una forma abreviada de escribir las consultas usted mismo. Esto no ofrece ningún beneficio de rendimiento real, pero facilita la escritura de consultas complejas y facilita el mantenimiento (ya que si la definición de la vista cambia, no necesita cambiar 100 consultas contra la vista, solo una definición).

  2. Vistas tentadoras

    Este tipo de vista crea una tabla temporal con la consulta del SQL de la vista. Tiene todos los beneficios de la vista combinada, pero también reduce el tiempo de bloqueo en las tablas de la vista. Por lo tanto, en servidores muy cargados, podría tener una ganancia de rendimiento bastante significativa.

También está el tipo de vista "Indefinido" (el valor predeterminado), que permite a MySQL elegir lo que cree que es el mejor tipo en el momento de la consulta...

Pero tenga en cuenta algo importante a tener en cuenta, es que MySQL no tiene soporte para vistas materializadas . Por lo tanto, no es como Oracle, donde una vista compleja aumentará significativamente el rendimiento de las consultas. Las consultas de las vistas siempre se ejecutan en MySQL.

En cuanto a la eficiencia, las vistas en MySQL no aumentan ni disminuyen la eficiencia. Están ahí para facilitarle la vida al escribir y mantener consultas. He usado vistas en tablas con cientos de millones de filas y han funcionado bien...