Fondamentalmente, ci sono fondamentalmente 2 tipi di visualizzazioni in MySQL.
-
Unisci visualizzazioni
Questo tipo di vista in pratica riscrive semplicemente le tue query con l'SQL della vista. Quindi è una scorciatoia per scrivere le query da soli. Ciò non offre alcun reale vantaggio in termini di prestazioni, ma semplifica la scrittura di query complesse e semplifica la manutenzione (poiché se la definizione della vista cambia, non è necessario modificare 100 query rispetto alla vista, solo una definizione).
-
Viste tentative
Questo tipo di vista crea una tabella temporanea con la query dall'SQL della vista. Ha tutti i vantaggi della vista unione, ma riduce anche il tempo di blocco sulle tabelle della vista. Pertanto su server molto caricati potrebbe avere un aumento di prestazioni abbastanza significativo.
C'è anche il tipo di visualizzazione "Non definito" (l'impostazione predefinita), che consente a MySQL di scegliere quello che ritiene essere il tipo migliore al momento della query...
Ma nota qualcosa di importante da notare, è che MySQL non ha alcun supporto per viste materializzate . Quindi non è come Oracle in cui una vista complessa aumenterà in modo significativo le prestazioni delle query su di essa. Le query delle viste vengono sempre eseguite in MySQL.
Per quanto riguarda l'efficienza, le visualizzazioni in MySQL non aumentano o diminuiscono l'efficienza. Sono lì per semplificarti la vita durante la scrittura e la gestione delle query. Ho utilizzato viste su tabelle con centinaia di milioni di righe e hanno funzionato perfettamente...