亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何優化SQL語句

發布時間:2021-10-09 16:44:24 來源:億速云 閱讀:103 作者:iii 欄目:數據庫

這篇文章主要介紹“如何優化SQL語句”,在日常操作中,相信很多人在如何優化SQL語句問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何優化SQL語句”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

 如何優化SQL語句

1、不查多余的列

查詢過程中經常為了省事,而直接使用*來代替所有的列,好處是不需要寫明列。壞處就是遇到列比較多的表查詢效率就大大折扣了。例如:

SELECT * FROM [Sales].[SalesOrderDetail];

我們執行一下可以看到如下信息:

如何優化SQL語句

Q:上面的消息界面是怎么出來的呢?

A:點擊菜單欄的查詢——查詢選項...——高級,將SET STATISTICS TIME和SET STATISTICS IO都勾選上就可以了

上面的相關信息我給大家解讀一下:

掃描計數:索引或表掃描次數

邏輯讀取:數據緩存中讀取的頁數

物理讀取:從磁盤中讀取的頁數

預讀:查詢過程中,從磁盤放入緩存的頁數

lob邏輯讀取:從數據緩存中讀取,image,text,ntext或大型數據的頁數

lob物理讀取:從磁盤中讀取,image,text,ntext或大型數據的頁數

lob預讀:查詢過程中,從磁盤放入緩存的image,text,ntext或大型數據的頁數

語句的CPU時間分編譯階段和執行階段。

CPU時間是指:執行語句的時間

占用時間是指:從磁盤讀取數據再處理總的使用時間

編譯階段:

SQL Server 分析和編譯時間:

執行階段:

SQL Server 執行時間:

這些信息我們以后都會經常看到的,這是判斷一個查詢語句最直觀的方式。

我們再單獨查詢一列看會怎么樣?例如:

SELECT UnitPrice FROM [Sales].[SalesOrderDetail];

我們執行一下可以看到如下信息:

如何優化SQL語句

通過上面的時間對比我們就可以清楚的看到:將列名明確的列出,不顯示不相關的列效率有很大的提升。

這里就是大家經常看到的一條優化建議:不要直接使用*進行查詢,而只查詢需要的列。

當然如果本身有需要查看全表內容,就不在此條優化之列了。

2、不查多余的行

  • 在查詢的時候使用WHERE關鍵字可以很好的過濾掉不需要的行。這也是提高查詢效率的一種方式,其實這才是WHERE關鍵字存在的意義。

例如:

SELECT UnitPrice FROM [Sales].[SalesOrderDetail] WHERE UnitPrice>1000;

我們執行一下可以看到如下信息:

如何優化SQL語句

所占用的時間成倍的減少,效果顯而易見。

  • 使用DISTINCT關鍵字減少多余重復的行。

例如:

SELECT DISTINCT UnitPrice FROM [Sales].[SalesOrderDetail] WHERE UnitPrice>1000;

我們執行一下可以看到如下信息:

如何優化SQL語句

我們發現,在某些情況下DISTINCT也可以加快數據的查詢效率。

到此,關于“如何優化SQL語句”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四平市| 民乐县| 卢湾区| 聂拉木县| 新昌县| 宁津县| 梁河县| 榕江县| 新巴尔虎右旗| 青田县| 柘城县| 高安市| 卫辉市| 金沙县| 资溪县| 佛学| 苗栗县| 房山区| 瑞安市| 集贤县| 凭祥市| 贵溪市| 清水县| 嫩江县| 偃师市| 龙陵县| 阿城市| 太和县| 丹巴县| 广河县| 浑源县| 福建省| 溆浦县| 南江县| 府谷县| 吉林省| 绥化市| 行唐县| 阳城县| 榆中县| 洛浦县|