資料庫優化in可以用什麼替代

網上關於資料庫優化in可以用什麼替代的提問比較多,今天就簡單的說說,需要了解的接著見下文。

資料庫優化in可以用什麼替代

1、用IN的SQL效能總是比較低的,從SQL執行的步驟來分析用IN的SQL與不用IN的SQL有以下區別。

2、SQL試圖將其轉換成多個表的連線,如果轉換不成功則先執行IN裡面的子查詢,再查詢外層的表記錄,如果轉換成功則直接採用多個表的連線方式查詢。由此可見用IN的SQL至少多了一個轉換的過程。

3、一般的SQL都可以轉換成功,但對於含有分組統計等方面的SQL就不能轉換。推薦在業務密集的SQL當中儘量不採用IN操作符NOT IN此操作是強列推薦不使用的,因為不能應用表的索引。推薦用NOT EXISTS或(外連線+判斷為空)方案代替。

以上的就是關於資料庫優化in可以用什麼替代的內容介紹了。