sql >> Databasteknik >  >> RDS >> Mysql

inner join och where in() satsprestanda?

Beror på din SQL-motor. Nyare SQL-system som har rimliga frågeoptimerare kommer med största sannolikhet att skriva om båda frågorna till samma plan. Vanligtvis skrivs en underfråga (din andra fråga) om med en join (den första frågan).

I enkla SQL-motorer som kanske inte har bra frågeoptimerare, bör kopplingen vara snabbare eftersom de kan köra underfrågor i en tillfällig tabell i minnet innan den yttre frågan körs.

I vissa SQL-motorer som har begränsat minnesutrymme kan underfrågan dock vara snabbare eftersom den inte kräver sammanfogning – vilket ger mer data.

Så sammanfattningsvis beror det på.



  1. Hur räknar man användarfrågor?

  2. Gruppering efter kolumn med beroende av en annan kolumn

  3. VISA TABELLER i MySQL

  4. Infogar standardvärde som aktuellt datum + 30 dagar i MySQL