Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

As visualizações do MySQL são dinâmicas e eficientes?


Basicamente, existem basicamente 2 tipos de visualizações em MySQL.

  1. Mesclar visualizações

    Esse tipo de visualização basicamente apenas reescreve suas consultas com o SQL da visualização. Portanto, é uma abreviação para escrever as consultas você mesmo. Isso não oferece nenhum benefício real de desempenho, mas facilita a escrita de consultas complexas e a manutenção (já que, se a definição da exibição for alterada, você não precisará alterar 100 consultas na exibição, apenas uma definição).

  2. Visualizações Temptable

    Este tipo de visualização cria uma tabela temporária com a consulta do SQL da visualização. Ele tem todos os benefícios da visualização de mesclagem, mas também reduz o tempo de bloqueio nas tabelas da visualização. Portanto, em servidores altamente carregados, pode haver um ganho de desempenho bastante significativo.

Há também o tipo de visualização "Indefinido" (o padrão), que permite ao MySQL escolher o que ele acha que é o melhor tipo no momento da consulta ...

Mas observe algo importante a ser observado, é que o MySQL não tem suporte para visualizações materializadas . Portanto, não é como o Oracle, onde uma visão complexa aumenta significativamente o desempenho das consultas. As consultas das visualizações são sempre executadas no MySQL.

Quanto à eficiência, Views no MySQL não aumentam ou diminuem a eficiência. Eles estão lá para facilitar sua vida ao escrever e manter consultas. Eu usei visualizações em tabelas com centenas de milhões de linhas e elas funcionaram bem ...