sql >> Database >  >> RDS >> Mysql

Wat gebeurde er eerst in mysql:join or where

De join gebeurt vóór de where , echter...

De where clausule is een filter voor alle rijen die worden geretourneerd door de join, maar de optimizer zal herkennen dat als er een index bestaat op A.id , het wordt gebruikt om rijen op te halen uit A die match, dan zal de join plaatsvinden, dan zal in theorie de where-clausule de resultaten filteren, maar nogmaals, de optimizer zal herkennen dat aan de voorwaarde al is voldaan, dus zal deze deze als een filter overslaan.

Dat gezegd hebbende, zal de optimizer altijd hetzelfde resultaat retourneren als zou worden geretourneerd zonder de optimizer.




  1. Slaapstand, JDBC en Java-prestaties op middelgrote en grote resultatenset

  2. Hoe 2 datums in orakel af te trekken om het resultaat in uren en minuten te krijgen

  3. Laravel installeren op Ubuntu met Apache-, MariaDB- en PHP-ondersteuning

  4. Functie versus opgeslagen procedure in SQL Server