mssql中SQL语句优化常用方法小结

来源:互联网 发布:qq钓鱼软件生成器 编辑:程序博客网 时间:2024/06/06 08:42

        近几天面试管常问起我sqlserver数据化都用了那些方法时,老是反应迟钝,只回答了看索引和IO,结果让自己都备感伤心啊。现在将自己知道的人优化写下来,只有目录,详细的可以在网上找到很多详细的方案哦。

        优化方法一:使用索引。

        优点:可以增加查询速度;

        缺点:会增加更新和插入速度,增加表空间容量。

        按索引方式:有聚集索引,非聚焦索引;也可分为单列索引、多列索引;按值也可以分为唯一索引、非唯一索引、过滤索引等等。可惜没有找到跟ORACLE位图索引相对应的索引方式。

        要详细了解可以百度“SQL Server索引进阶”,总共十四章,网上全有哦!要再想更多获取sql server 原理和深入知识的,可以转到“索引进阶”的英文源站“http://www.sqlservercentral.com”,用邮箱注册后就可以收到一些邮件。

       

       优化方式二:查看执行计划

       通过执行计划可以看到索引、表、视图的使用情况,各个执行环节所战用的资源比以及要得到查询结果所要使用到那些计算。注意是从右往左看哦,

       

       优化方式三:查看IO

       在sql执行过程中,除了各种运算外还有一个很重要的事情,那就是读数据,数据从那里来呢?内存或硬盘都有可能。

        执行命令:

                       set statistics io on
                       set statistics time on

       打开IO和执行时间开关。

       优化方式四:SQL语句优化(非索引使用)

       如SQl条件时将过滤记录多的条件放前面,使用>=4代替>3;优化like比较;可使用exists替代in;使用is null 时;。。。。。。。可以 在网上找到比较详细的博客哦

       优化方式五:事件监听

        打开sql server profiler后,可查看SQL语句的执行情况,可以找到列:“cpu”,"reads","writes","duration"这四个列,就可以看到SQL语句在执行过程中主要的性能参数。点击“文件”->"另存为"选择相应的存储方式。比如存储为“跟踪表“,就可以像操作表一样使用跟踪记录了。

        

         优化方法五:查看数据库报告

         在对象资源管理器上右击,打开”报表“菜单,可以看到很多报表,通过这些系统报表可以看到很多关于数据库状态的结果。


   比如我们打开”索引的物理统计信息“,我的库查看结果为”下图“,索引名”UrlData“的信息可以查看当前索引表的物理存储情况。

0 0