计算当前sql语句执行速度
2012-03-30 18:43
253 查看
(1)仅在主键上建立聚集索引,并且不划分时间段:
Select gid,fariqi,neibuyonghu,title from tgongwen
用时:128470毫秒(即:128秒)
(2)在主键上建立聚集索引,在fariq上建立非聚集索引:
select gid,fariqi,neibuyonghu,title from Tgongwen
where fariqi> dateadd(day,-90,getdate())
用时:53763毫秒(54秒)
(3)将聚合索引建立在日期列(fariqi)上:
select gid,fariqi,neibuyonghu,title from Tgongwen
where fariqi> dateadd(day,-90,getdate())
用时:2423毫秒(2秒)
虽然每条语句提取出来的都是25万条数据,各种情况的差异却是巨大的,特别是将聚集索引建立在日期列时的差异。事实上,如果您的数据库真的有1000万容量的话,把主键建立在ID列上,就像以上的第1、2种情况,在网页上的表现就是超时,根本就无法显示。这也是我摒弃ID列作为聚集索引的一个最重要的因素。
得出以上速度的方法是:在各个select语句前加:declare @d datetime
set @d=getdate()
并在select语句后加:
select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())
Select gid,fariqi,neibuyonghu,title from tgongwen
用时:128470毫秒(即:128秒)
(2)在主键上建立聚集索引,在fariq上建立非聚集索引:
select gid,fariqi,neibuyonghu,title from Tgongwen
where fariqi> dateadd(day,-90,getdate())
用时:53763毫秒(54秒)
(3)将聚合索引建立在日期列(fariqi)上:
select gid,fariqi,neibuyonghu,title from Tgongwen
where fariqi> dateadd(day,-90,getdate())
用时:2423毫秒(2秒)
虽然每条语句提取出来的都是25万条数据,各种情况的差异却是巨大的,特别是将聚集索引建立在日期列时的差异。事实上,如果您的数据库真的有1000万容量的话,把主键建立在ID列上,就像以上的第1、2种情况,在网页上的表现就是超时,根本就无法显示。这也是我摒弃ID列作为聚集索引的一个最重要的因素。
得出以上速度的方法是:在各个select语句前加:declare @d datetime
set @d=getdate()
并在select语句后加:
select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())
相关文章推荐
- ORACLE OEM简介(如何利用OEM查看oracle当前在执行哪些SQL语句)
- oracle 查看session当前正执行的sql及近期执行的sql语句
- 查看当前oracle中正在执行的sql语句
- 用编程的方式将当前服务器上SQL SERVER中正执行的所有T-SQL语句记录下来 <转>
- ORACLE OEM简介(如何利用OEM查看oracle当前在执行哪些SQL语句)
- 查看当前oracle中正在执行的sql语句
- 查看Sql语句执行速度
- 查看当前oracle中正在执行的sql语句
- 计算SQL语句运行速度
- 查看当前oracle中正在执行的sql语句
- SQL语句执行时间的计算
- 用编程的方式将当前服务器上SQL SERVER中正执行的所有T-SQL语句记录下来
- mysql怎么终止当前正在执行的sql语句
- 查看当前oracle中正在执行的sql语句
- 用编程的方式将当前服务器上SQL SERVER中正执行的所有T-SQL语句记录下来
- 计算SQL语句执行时间的方法
- 查看当前oracle中正在执行的sql语句
- 测试sql语句执行速度
- 查看当前oracle中正在执行的sql语句
- 找出当前页面执行的所有sql语句