sql查詢效率

2022-04-12 06:37:54 字數 674 閱讀 4175

1樓:

我想是這樣的,in後面的子查詢資料越多,相對exists查詢就會越慢。in子查詢中的記錄只有幾十條件,那麼應該是效率很高的,因為其只查詢單個字段,如果這個欄位是被索引過的,會更快

exists相對於查詢子表資料較多的情況。

可以這樣想,exists每個子查詢是一條記錄。而in子查詢每個子查詢會是多條甚至數萬條記錄。所以,子查詢記錄越多,in的速度越慢。

但是,exsits是能完成in查詢不能完成的功能的,可以使用更複雜的邏輯表示式進行查詢,可以與子查詢的多字段進行比較。

結論:子表或查詢資料記錄較多時,exists會較快,子表資料較少時,使用in查詢較快。

2樓:匿名使用者

由於exists和in的差異而造成的影響,遠不及其它原因造成的影響,比如不當的table scan或者cluster index scan等

3樓:匿名使用者

**):

in適合於外表大而

內錶小的情況;

exists

適合於外表小而內錶大的情況。

我們要根據實際的情況做相應的優化,

不能絕對的說誰的效率高誰的效率低,

所有的事都是相對的

4樓:匿名使用者

exists的效率比in高

sql多表聯查詢,sql多表聯合查詢

可以用謂詞或聯結實現 連線實現 select from b join a on b.id a.id where a.b 21 聯結實現的條件是兩表id來自同一值域,表示意義相同.在連線時其實兩可以作成乙個表的 也就是id,a.b,a.c,b.b.b.c 但由於空值的問題,導致了部分依賴所以才會拆分成...

sql查詢語句like 的問題,sql查詢語句Like 的問題

like 操作符用於在 where 子句中搜尋列中的指定模式。sql like 操作符語法 select column name s from table name where column name like pattern 萬用字元 描述 替代一個或多個字元 僅替代一個字元 charlist 字...

關於SQL語句查詢問題,關於SQL語句 查詢問題

這個問題主要是sql語句 select from table where a beg a and a end a or a beg like a select b from table where a beg a and a end a or to char b like a select b fr...