sql語句優化:用join取代not in


寫了好幾個頁面,速度都上不去,瓶頸在於SQL查詢。太多的表,太多的not in,總是從一大推表和數據中篩選出一點數據。看了很多關於SQL優化的文章,都強烈要求不要太多使用not in查詢,最好用表連接來取代它。如:

select ID,name from Table_A where ID not in (select ID from Table_B)

這句是最經典的not in查詢了。改為表連接代碼如下:

select Table_A.ID,Table_A.name from Table_A left join Table_B on Table_A.ID=Table_B.ID and Table_B.ID is null
或者:
select Table_A.ID,Table_A.name from Table_A left join Table_B on Table_A.ID=Table_B.ID where Table_B.ID is null

經試用,效果立竿見影。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM