SQL查詢效率where語句條件


有索引的列優先,都有索引的看查詢出來的數據量,少的優先

in ,not in,<>,is null,is not null 等由於不會走索引,盡量不要使用。

WHERE子句后面的條件順序對大數據量表的查詢會產生直接的影響,如

Select * from zl_yhjbqk where dy_dj = '1K以下' and xh_bz=1

Select * from zl_yhjbqk where xh_bz=1 and dy_dj = '1K以下'

以上兩個 SQL 中dy_dj及xh_bz兩個字段都沒進行索引,所以執行的時候都是全表掃描,第一條 SQL的dy_dj = '1KV以下'條件在記錄集內比率為99%,而xh_bz=1的比率只為0.5%,在進行第一條 SQL的時候99%條記錄都進行dy_dj及xh_bz的比較,而在進行第二條SQL的時候0.5%條記錄都進行dy_dj及xh_bz的比較,以此可以得出第二條SQL的 CPU占用率明顯比第一條低。


免責聲明!

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



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