課程
/數據庫
/SQL Server
/SQL Server基礎--T-SQL語句
where color='white' or color='black'這條語句和where color in ('white','black')的區別?
2016-11-01
源自:SQL Server基礎--T-SQL語句 2-4
正在回答
執行效率會有差別
如果in和or所在列有索引或者主鍵的話,or和in沒啥差別,執行計劃和執行時間都幾乎一樣。如果in和or所在列沒有索引的話,性能差別就很大了。在沒有索引的情況下,隨著in或者or后面的數據量越多,in的效率不會有太大的下降,但是or會隨著記錄越多的話性能下降非常厲害。or的效率為O(n),而in的效率為O(logn), 當n越大的時候效率相差越明顯。轉載:? http://blog.chinaunix.net/uid-20639775-id-3416737.html
慕粉2015562750 提問者
舉報
SQL Server基礎教程,主要講解TSQL的基本查詢語句和基本用法
2 回答關于Where語句模糊查找的字符不區分大小寫嗎?
1 回答查詢語句的問題
1 回答關于在where中使用and相連的兩個條件
1 回答關于查詢語言
1 回答請問這個語句怎么寫,求詳解
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-11-01
執行效率會有差別
如果in和or所在列有索引或者主鍵的話,or和in沒啥差別,執行計劃和執行時間都幾乎一樣。
如果in和or所在列沒有索引的話,性能差別就很大了。在沒有索引的情況下,隨著in或者or后面的數據量越多,in的效率不會有太大的下降,但是or會隨著記錄越多的話性能下降非常厲害。or的效率為O(n),而in的效率為O(logn), 當n越大的時候效率相差越明顯。
轉載:? http://blog.chinaunix.net/uid-20639775-id-3416737.html