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

Rendimiento de las vistas MySql

Depende.

Depende totalmente de lo que esté viendo a través de la vista. Pero lo más probable es que reduzca su esfuerzo y brinde un mayor rendimiento. Cuando la instrucción SQL hace referencia a una vista no indexada, el analizador y el optimizador de consultas analizan el origen de la instrucción SQL y la vista y luego los resuelven en un solo plan de ejecución. No hay un plan para la instrucción SQL y un plan separado para la vista.

Una vista no está compilada . Es una mesa virtual formada por otras mesas. Cuando lo crea, no reside en ningún lugar de su servidor. Las consultas subyacentes que componen la vista están sujetas a las mismas mejoras de rendimiento o cambios del optimizador de consultas. Nunca probé el rendimiento en una vista VS su consulta subyacente, pero me imagino que el rendimiento puede variar ligeramente. Puede obtener un mejor rendimiento en una vista indexada si los datos son relativamente estáticos. Esto puede ser lo que estás pensando en términos de "compilado".

Ventajas de las vistas:

  1. Ver los datos sin almacenarlos en el objeto.
  2. Restringe la vista de una tabla, es decir, puede ocultar algunas de las columnas de las tablas.
  3. Únase a dos o más tablas y muéstrelas como un objeto al usuario.
  4. Restringir el acceso a una tabla para que nadie pueda insertar las filas en la tabla.

Vea estos enlaces útiles:

  1. Rendimiento de VIEW frente a declaración SQL
  2. ¿Es una vista más rápida que una consulta sencilla?
  3. Mysql VIEWS vs PHP consulta
  4. ¿Las vistas de MySql son dinámicas y eficientes?
  5. Vista materializada frente a tablas:¿Cuáles son las ventajas?
  6. Está consultando sobre una vista más lenta que ejecutar SQL directamente?
  7. Una solución para los problemas de rendimiento de las vistas TEMPTABLE
  8. Observe ganancias de rendimiento mediante el uso de vistas indexadas en SQL Server