日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL查询效率注意事项

發(fā)布時間:2025/7/14 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL查询效率注意事项 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、查詢條件精確,針對有參數(shù)傳入情況

二、SQL邏輯執(zhí)行順序

  FROM-->JOIN-->WHERE-->GROUP-->HAVING-->DISTINCT-->ORDER-->TOP

三、橫向

  • 查詢需要的字段
  • 當(dāng)在SQL語句中連接多個表時,請使用表的別名并把別名前綴于每個Column上這樣一來,就可以減少解析的時間并減少那些由Column歧義引起的語法錯誤

四、少做重復(fù)工作

  • 控制同一語句的多次執(zhí)行,特別是一些基礎(chǔ)數(shù)據(jù)的多次執(zhí)行是很多程序員很少注意的
  • 減少多次的數(shù)據(jù)轉(zhuǎn)換
  • 杜絕不必要的子查詢和連接表,子查詢在執(zhí)行計劃一般解釋成外連接,多余的連接表帶來額外的開銷

五、關(guān)于零時表#與表變量@

  • 如果語句很復(fù)雜,連接太多,可以考慮用臨時表和表變量分步完成
  • 如果需要多次用到一個大表的同一部分數(shù)據(jù),考慮用臨時表和表變量暫存這部分數(shù)據(jù)
  • 如果需要綜合多個表的數(shù)據(jù),形成一個結(jié)果,可以考慮用臨時表和表變量分步匯總這多個表的數(shù)據(jù)
  • 關(guān)于臨時表和表變量的選擇,在數(shù)據(jù)量較多的情況下,臨時表的速度反而更快
  • SELECT INTO會比CREATE TABLE + INSERT INTO的方法快,但是SELECT INTO會鎖定TEMPDB的系統(tǒng)表SYSOBJECTS、SYSINDEXES、SYSCOLUMNS,在多用戶并發(fā)環(huán)境下,容易阻塞其他進程

六、子查詢

  • 子查詢可以用IN、NOT IN、EXISTS、NOT EXISTS引入
  • NOT IN、NOT EXISTS的相關(guān)子查詢可以改用LEFT JOIN代替寫法
  • 如果保證子查詢沒有重復(fù) ,IN、EXISTS的相關(guān)子查詢可以用INNER JOIN?代替
  • IN的相關(guān)子查詢用EXISTS代替

七、索引

  • 避免對索引字段進行計算操作
  • SELECT ID FROM T WHERE NUM/2=100
    應(yīng)改為:
    SELECT ID FROM T WHERE NUM=100*2
  • 避免在索引字段上使用NOT,<>,!=
  • 避免在索引列上使用IS NULL和IS NOT NULL
  • 避免在索引列上出現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換
  • 避免在索引字段上使用函數(shù)
  • 避免建立索引的列中使用空值
  • 不要對索引字段進行多字段連接
  • WHERE FAME+'. '+LNAME='HAIWEI.YANG'
    應(yīng)改為:
    WHERE FNAME='HAIWEI' AND LNAME='YANG'

八、多表連接

  • 多表連接的時候,連接條件必須寫全,寧可重復(fù),不要缺漏
  • 連接條件盡量使用聚集索引

九、其他

  • 在可以使用UNION ALL的語句里,使用UNION ALL
  • 避免在WHERE子句中使用IN,NOT IN,OR
  • 避免使用耗費資源的操作,帶有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL語句會啟動SQL引擎執(zhí)行,耗費資源的排序(SORT)功能. DISTINCT需要一次排序操作,?而其他的至少需要執(zhí)行兩次排序
  • LIKE ‘%5400%’?這種查詢不會引用索引,而LIKE ‘X5400%’則會引用范圍索引。

轉(zhuǎn)載于:https://www.cnblogs.com/Zyang/archive/2011/12/23/2298777.html

總結(jié)

以上是生活随笔為你收集整理的SQL查询效率注意事项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。