您的位置:首页 > 数据库

如何测试sql语句性能,提高执行效率,sql2008

2014-08-14 17:00 736 查看


有时候我们经常为我们的sql语句执行效率低下发愁,反复优化后,可还是得不到提高

        那么你就用这条语句找出你sql到底是在哪里慢了

        示例:

        SET STATISTICS io ON

        SET STATISTICS time ON

        go

         ---你要测试的sql语句

         select top 100 * from TBL_Cot_RecStaticList

        go

        SET STATISTICS profile OFF

        SET STATISTICS io OFF

        SET STATISTICS time OFF
         显示信息:

        SQL Server 分析和编译时间:

        CPU 时间 = 0 毫秒,占用时间 = 59 毫秒。

        (100 行受影响)         表 'TBL_Cot_RecStaticList'。扫描计数 1,逻辑读取 14 次,物理读取 2 次,预读 992 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

        SQL Server 执行时间:            CPU 时间 = 0 毫秒,占用时间 = 306 毫秒。        

        SQL Server 分析和编译时间:            CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。

        SQL Server 执行时间:            CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。

        SQL Server 执行时间:            CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。

文章链接:http://www.cnblogs.com/lynnlin/archive/2008/06/18/1224376.html

=========================================================================

本人测试截图:

表t_userinfo中数据记录数:999999

测试sql:select top 20 userid,nick,classid,writetime from t_userinfo where userid not in ( select top 900000 userid from t_userinfo order by userid asc )



测试sql:        

select a.userid,b.nick,b.classid,b.writetime from

( select top 20 a.userid from

( select top 900020 userid from t_userinfo order by userid asc ) a order by a.userid desc ) a

inner join t_userinfo b on a.userid = b.userid order by a.userid asc

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息