日期:2014-05-19  浏览次数:20628 次

求sql语句执行时间
declare   @i   datetime
set   @i=getdate()
/*
*     sql   语句
*
*/
print   datediff(ms,@i,getdate())

我得到的毫秒为0,请问,我写的语句有问题吗,虽然我的数据库中记录数为1,但执行时间也应该大于1毫秒吧??另外,我直接执行sql语句,通过sqlserver探查器追踪可以看到其duration为126毫秒,这两种方法不一样,应该相信哪一个阿。还有我通过sqlexpert得到的时间为23毫秒,这到底怎么回事,怎么可以计算出它的执行时间呢

------解决方案--------------------
最规范的办法是SQL事件探查器和set statitics time、 set statitics io

直接在SQL里面取时间来判断会有问题
------解决方案--------------------
declare @time datetime
set @time=getdate()
select * from 表 --我尝试了一下,只要是很小的表都返回0
print datediff(ms,@time,getdate())


看来确实这种方法不太准。。。