declare @i datetime
set @i=getdate()
/*
* sql 语句
*
*/
print datediff(ms,@i,getdate())我得到的毫秒为0,请问,我写的语句有问题吗,虽然我的数据库中记录数为1,但执行时间也应该大于1毫秒吧??另外,我直接执行sql语句,通过sqlserver探查器追踪可以看到其duration为126毫秒,这两种方法不一样,应该相信哪一个阿。还有我通过sqlexpert得到的时间为23毫秒,这到底怎么回事,怎么可以计算出它的执行时间呢
set @i=getdate()
/*
* sql 语句
*
*/
print datediff(ms,@i,getdate())我得到的毫秒为0,请问,我写的语句有问题吗,虽然我的数据库中记录数为1,但执行时间也应该大于1毫秒吧??另外,我直接执行sql语句,通过sqlserver探查器追踪可以看到其duration为126毫秒,这两种方法不一样,应该相信哪一个阿。还有我通过sqlexpert得到的时间为23毫秒,这到底怎么回事,怎么可以计算出它的执行时间呢
解决方案 »
- 看看这两代码哪个好
- 改个存储过程
- 请问:怎么实现将2008-12-2 12:12:12变成2008年12月2日 12点12分12秒?
- 急救,sqlserver启动不了,提示错误1067
- PB9+SQL2000,如果把一句SQL语言保存在SQL数据表的一个文本列中,在PB代码中取出这个文本后,如何执行这句SQL,这种方法可行吗?如果可行
- 高手帮看看这个插入SQL怎么写
- sql数据库问题求助
- 还原数据库问题,在选择完要备份的数据库文件后在下边选择要还原的数据库列表中没有刚选择的数据库
- 如何定义一个连接内可用的变量?
- 看一看这个,一个sql 语句能不能搞定?
- 关于sqlserver2000登录权限的疑问?
- 怎么实现这个SQL问题?
你的变量@i的值也是getdate()结果当然是0了
set @time=getdate()
select * from 表 --我尝试了一下,只要是很小的表都返回0
print datediff(ms,@time,getdate())
看来确实这种方法不太准
select * from authors
然后看消息,
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。(所影响的行数为 364 行)
SQL Server 执行时间:
CPU 时间 = 0 毫秒,耗费时间 = 42 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 30 毫秒,耗费时间 = 30 毫秒。SQL Server 执行时间:
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。(所影响的行数为 1 行)表 'FLOWDATA'。扫描计数 0,逻辑读 0 次,物理读 0 次,预读 0 次。
表 'FLOWSTEPORDER'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。
表 'DOCUMENT'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。
表 'FLOWLOG'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。SQL Server 执行时间:
CPU 时间 = 0 毫秒,耗费时间 = 0 毫秒。
不过,同一条sql为什么执行10遍,每一遍SQL Server 分析和编译时间结果不同,我应该取平均值吗??否则哪一个是其确切的执行时间呢??
set statistics time on