在寫代碼的時候,有時候實現一個功能會有好多個方法,有時候會做一下方法的耗時對比,綜合下時間復雜度與空間復雜度,寫出最好的代碼;
同樣,在寫一些SQL查詢,SQL代碼的時候,也希望能寫出一個高效一點的查詢;
下面這部分代碼就可以簡單分析下SQL語句的耗時情況;
--清除緩存
CHECKPOINT;
DBCC DROPCLEANBUFFERS;
DBCC FREEPROCCACHE;
DBCC FREESYSTEMCACHE ('ALL');
declare @begintime datetime,@endtime datetime
set @begintime=getdate()
select top 200 * from user_info
set @endtime=getdate()
select @begintime '開始時間',@endtime '結束時間',datediff(ms,@begintime,@endtime) '毫秒'
不過實際情況中,想要查看耗時的話很少這樣去寫,因為SQL server Management studio 中在查詢結果的右下角一般都會顯示耗時以及行數信息;