寫程序的人,往往需要分析所寫的SQL語句是否已經優化過了,服務器的響應時間有多快,這個時候就需要用到SQL的STATISTICS狀態值來查看了。
通過設置STATISTICS我們可以查看執行SQL時的系統情況。選項有PROFILE,IO ,TIME。介紹如下:
SET STATISTICS PROFILE ON SET STATISTICS IO ON SET STATISTICS TIME ON GO /*--你的SQL腳本開始*/ select * from TB_KYsubProject a WHERE ISNULL(a.DataType,0) IN (0,1) AND ISNULL(a.IsDelete,0)=0 and a.id not in (select b.SubID from TB_SGSubTask b where b.SubID = a.id and b.Sub_Task_Name=a.Sub_Project_Name and b.StartD=a.Sub_Project_Name and b.EndD=a.Sub_Project_Name and ISNULL(convert(varchar(36),b.GrogrammeID) ,'')='') /*--你的SQL腳本結束*/ GO SET STATISTICS PROFILE OFF SET STATISTICS IO OFF SET STATISTICS TIME OFF
效果如圖所示:
計算執行時間來查看執行語句花費了的時間,以判斷該條SQL語句的效率如何:
declare @d datetime
set @d=getdate()
/*你的SQL腳本開始*/
SELECT [TestCase] FROM [TestCaseSelect]
/*你的SQL腳本結束*/
select [語句執行花費時間(毫秒)]=datediff(ms,@d,getdate())