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

Mysql - EXPLAIN SELECT da una VIEW sta cercando in tutte le righe della tabella principale

Perché una vista non è un precompilato query o un risultato memorizzato , è un predefinito interrogazione. Esegue le istruzioni SELECT nella vista, ogni volta . In caso contrario, una vista non verrebbe mai aggiornata. Una vista è una rappresentazione di una query. È una comoda scorciatoia per il programmatore, ma non per la macchina.

In altre parole, quando

SELECT something FROM YourView

E YourView è definito da

CREATE VIEW YourView AS SELECT stuff FROM sometable 
INNER JOIN othertable ON sometable.column = othertable.column

ciò che viene effettivamente eseguito è

 SELECT something FROM 
(SELECT stuff FROM sometable 
INNER JOIN othertable ON sometable.column = othertable.column)

Se desideri memorizzare un risultato, dovresti utilizzare una tabella aggregata.