两条语句完全相同,为什么执行的总时间不一样?
--总时间:[color=#FF0000] 0:80
declare @startime datetime
declare @endtime datetime
set @startime = Getdate()
select * from Stocktb -- 执行语句
set @endtime = Getdate()
select convert(varchar,datepart(s,@endtime-@startime))+':'+convert(varchar,datepart(ms,@endtime-@startime)) as '总时间'
--总时间: 0:77或0:93
declare @startime datetime
declare @endtime datetime
set @startime = Getdate()
select * from Stocktb -- 执行语句
set @endtime = Getdate()
select convert(varchar,datepart(s,@endtime-@startime))+':'+convert(varchar,datepart(ms,@endtime-@startime)) as '总时间'[/color]
------解决方案--------------------当时你开着迅雷来着。
------解决方案--------------------这和代码有关系吗?你都把代码贴出来了,居然真的一样~
------解决方案--------------------与很多因素可能有关: CPU,磁盘IO,内存,锁争,两次执行之间的数据变更,索引变更,统计信息变更..
确保两次测试的以上条件一致,结果基本就一样了.
------解决方案--------------------这个很正常吧。就像你运行一个软件,有时可以很快打开,有时却要等上一小会时间。
sql执行的时间也要和你计算机当时的运行情况有些关系的
------解决方案--------------------并不是每次都一样
多少有误差
------解决方案--------------------誤差也不大,你多執行幾次,数据多了才可以更好的分析原因