Mysql
 sql >> Database >  >> RDS >> Mysql

MySql visualizza le prestazioni

Dipende.

Dipende totalmente da cosa stai visualizzando attraverso la vista. Ma molto probabilmente riducendo il tuo sforzo e dando prestazioni più elevate. Quando l'istruzione SQL fa riferimento a una vista non indicizzata, il parser e Query Optimizer analizzano l'origine sia dell'istruzione SQL che della vista e quindi le risolvono in un unico piano di esecuzione. Non esiste un piano per l'istruzione SQL e un piano separato per la vista.

Una vista non è compilata . È un tavolo virtuale composto da altri tavoli. Quando lo crei, non risiede da qualche parte sul tuo server. Le query sottostanti che compongono la vista sono soggette agli stessi miglioramenti o ammaccature in termini di prestazioni di Query Optimizer. Non ho mai testato le prestazioni su una vista rispetto alla query sottostante, ma immagino che le prestazioni possano variare leggermente. È possibile ottenere prestazioni migliori su una vista indicizzata se i dati sono relativamente statici. Questo potrebbe essere quello che stai pensando forse in termini di "compilato".

Vantaggi delle visualizzazioni:

  1. Visualizza i dati senza memorizzare i dati nell'oggetto.
  2. Limita la visualizzazione di una tabella, ad esempio può nascondere alcune colonne nelle tabelle.
  3. Unisciti a due o più tabelle e mostralo come un oggetto all'utente.
  4. Limita l'accesso a una tabella in modo che nessuno possa inserire le righe nella tabella.

Vedi questi link utili:

  1. Prestazioni di VIEW rispetto all'istruzione SQL
  2. Una visualizzazione è più veloce di una semplice domanda?
  3. VISUALIZZA MySQL e query PHP
  4. MySql Views è dinamico ed efficiente?
  5. Vista materializzata vs. tabelle:Quali sono i vantaggi?
  6. È in corso una query in una vista più lenta rispetto all'esecuzione diretta di SQL?
  7. Una soluzione per i problemi di prestazioni delle viste TEMPTABLE
  8. Visualizza i miglioramenti delle prestazioni utilizzando le viste indicizzate in SQL Server