SQL查詢效率的討論

2021-09-30 08:13:48 字數 490 閱讀 6227

對於資料庫來說,查詢是資料庫的靈魂,那麼sql查詢效率究竟效率如何呢?下文將帶對sql查詢的相關問題進行討論,供您參考。

乙個百萬級別的基本資訊表a,乙個百萬級別的詳細記錄表b,a中有個身份證id,b中也有身份id;先要找出a中在b的詳細記錄。

s1:select b.* from a inner join b on a.id=b.id.

s2:游標遍歷a表,更具id找出b表中的記錄,再插入的一張臨時表裡。

實驗結果:s2的時間效率要遠大於s1,至少100倍以上。

對一張百萬級別的表建游標,同時又沒有什麼過濾條件,取得游標效率是如果直接sql查詢百萬條資料;如果再對每條記錄做處理,耗時將更長。

沒有萬能的工具,只有最合適的工具。為結果找最合適的方法、工具-sql server。

續:s3:select b.* from b where exists(select 1 from a where id=b.id)

該方案比s1稍微,弱100毫秒級

SQL 查詢效率

其他意見 1 like語句是否屬於sarg取決於所使用的萬用字元的型別 沒意見,開頭的話會走索引掃瞄或表掃瞄 2 or 會引起全表掃瞄 錯了,or只是不能使用左右兩邊謂語的聯合索引,對於類似於 a 1 or b 2 這樣的條件,應該在a和b上單獨建索引 3 非操作符 函式引起的不滿足sarg形式的語...

sql 如何提高SQL查詢的效率?

如何提高sql查詢的效率?原創猴子聊人物 發布於2019 10 31 21 00 00 閱讀數 11195 收藏 展開 題目 我們公司的資料量非常大,需要的不僅僅是提取資料,要了解sql方案優化的。一般在寫sql時需要注意哪些問題,可以提高查詢的效率?解題思路 資料量大的情況下,不同的sql語句,消...

如何提高SQL查詢的效率?

1.select子句中盡量避免使用 select子句中,是選擇全部資料的意思,比如語句 select from 成績表 意思是選擇成績表中所有列的資料 面對動輒十萬 百萬,甚至上千萬的資料,此時需要哪些列的資料,就提取哪些列的資料,盡量少用 來獲取資料 2.where子句比較符號左側避免函式 盡量避...