sql >> Databasteknik >  >> RDS >> Mysql

Mysql - EXPLAIN SELECT från en VIEW tittar på alla rader i huvudtabellen

Eftersom en vy inte är en förkompilerad fråga eller ett lagrat resultat , det är en fördefinierad fråga. Den exekverar SELECT-satserna i vyn, varje gång . Annars skulle en vy aldrig uppdateras. En vy är en representation av en fråga. Det är en bekväm förkortning för programmeraren, men inte för maskinen.

Med andra ord, när du

SELECT something FROM YourView

Och YourView definieras av

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

vad som faktiskt körs är

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

Om du vill lagra ett resultat bör du använda en aggregerad tabell.




  1. Ändra Django utvecklingsdatabas från standard SQLite till PostgreSQL

  2. Skillnaden i månader mellan datum i MySQL

  3. MySQL:Ställ in användarvariabel från resultatet av frågan

  4. Bästa sättet att validera användarinmatning JDBC?