為什么sql not in的執行效率那么低
1 回答

HUWWW
TA貢獻1874條經驗 獲得超12個贊
首先說明,in的效率就不高,not的效率更底,所以二者結合就效率不高了。
至于為什么,從大了說,in和not都跟索引沒有關系,而且就算相關字段有索引二者也都不會走,走的都是全表查詢,那么這肯定不會快。
再說語句本身,not in 首先要判斷是不是in,然后在判斷not,這是兩個過程,相當于一個補集,等于判斷了兩次,那么自然也就會慢一些。
其實凡是涉及到否判斷的都有這樣的問題。所以個人一般不建議使用否判斷的條件,就算需要有,也需要盡量簡化查詢內容以后使用(舉個簡單的例子,原來你的not in需要在1千條數據中查找,現在在10條數據中查找,自然是后者快一些),這樣才能讓查詢更加快捷。
- 1 回答
- 0 關注
- 1234 瀏覽
添加回答
舉報
0/150
提交
取消