sql優化之union all 和or ,in使用


不要迷信union all 就比 or及in 快,要結合實際情況分析到底使用哪種情況。

對於索引列來最好使用union all,因復雜的查詢【包含運算等】將使or、in放棄索引而全表掃描,除非你能確定or、in會使用索引

對於只有非索引字段來說你就老老實實的用or 或者in,因為 非索引字段本來要全表掃描而union all 只成倍增加表掃描的次數

對於既有索引字段【索引字段有效】又包含非索引字段來時,按理你也使用or 、in或者union all 都可以,
       但是我推薦使用or、in。

以上主要針對的是單表,而多表聯合查詢來說,考慮的地方就比較多了,比如連接方式,查詢表數據量分布、索引等,再結合單表的策略選擇合適的關鍵字


免責聲明!

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



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