今天遇到一个简单的SQL,但是特别耗时,500条数据而已,查询时间却超过30秒。
SQL本身真的很简单,就是一个select加一个where条件而已,没什么可优化的,但是看了执行计划发现,这个SQL查询的是一个由很多表join出来的视图,于是用sql server profiler跟踪到这个查询事件,然后把跟踪到的文件保存一下;再使用数据库引擎优化顾问,添加刚才保存的文件,然后勾选相应数据库中所有涉及的表,进行分析,最终数据库引擎优化顾问给出了17条优化建议,基本都是增加索引之类的。
根据数据库引擎优化顾问给出的优化建议进行优化之后,原本需要三十几秒的查询语句一秒之内即可完成查询,是不是很棒呀!
具体关于sql server profiler和数据库引擎优化顾问的详细使用方法可以参考如下文章: SqlServer性能检测和优化工具使用详细
网友评论