mysql中or和in的效率問題

2022-03-08 02:54:15 字數 331 閱讀 3338

分三中情況進行測試,分別是:

第一種情況:in和or所在列為主鍵的情形。

第二種情況:in和or所在列建立有索引的情形。

第二種情況:in和or所在列沒有索引的情形。

每種情況又採用不同的in和or的數量進行測試。由於測試語句的資料量有4種情況,我這裡就稱為a組、b組、c組、d組,其中a組為3個值,b組為150個值,c組為300個值,d組為1000個

結論:1.in或or在字段有新增索引的情況下,查詢很快,兩者查詢速度沒有什麼區別;

2.in或or在字段沒有新增索引的情況下,所連線的字段越多(1or2or3or4or......),or比in的查詢效率低很多

mysql中IN和EXITS效率

mysql中的in語句是把外表和內錶作hash 連線。而exists語句是對外表作loop迴圈,每次loop迴圈再對內表進行查詢。一直大家都覺得exists比in語句的效率要高。這樣的說法事實上是不準確的。這個是要區分環境的。假設查詢的兩個表大小相當,那麼用in和exists區別不大。假設兩個表中乙...

MySql中in和exists效率

詳見 mysql中的in語句是把外表和內錶作hash 連線,而exists語句是對外表作loop迴圈,每次loop迴圈再對內表進行查詢。一直大家都認為exists比in語句的效率要高,這種說法其實是不準確的。這個是要區分環境的。如果查詢的兩個表大小相當,那麼用in和exists差別不大。如果兩個表中...

Linq中Count 和Any 引發的效率問題

1 count和any 今天看了0 來判斷集合非空 href target blank 鶴沖天的文章 linq 切勿使用 count 0 來判斷集合非空 有所收穫,寫下文章總結一下 先看如下 1 static void main string args 212 public static ienum...