Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor-阿里云开发者社区

开发者社区> 杰克.陈> 正文

Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor

简介: 原文:Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor 一、工具概要     数据库应用系统性能低下,需要对其进行优化,     如果不知道问题出在哪里,可以使用性能检测工具sql server profiler。
+关注继续查看
原文:Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor

一、工具概要

    数据库应用系统性能低下,需要对其进行优化,
    如果不知道问题出在哪里,可以使用性能检测工具sql server profiler。
    如果知道问题出在哪里,却不知道如何解决,可以使用数据库引擎优化顾问Database Engine Tuning Advisor

二、sql server profiler

功能:检测到数据库中的所有操作,把监视的内容记录到数据库或者是文件中。
文件--新建跟踪--显示跟踪属性窗口


首先那个select%是个筛选监测的TextData。那个%是个通配符,他的意思就是筛选select开口的语句。当然这你自己可以随便定义,如update%,delete%....。
把那个排除不包含值的行也给带上,然后确定,运行。然后在数据库中运行一句select。你会发现他检测到啦。

每列以此向右,从EventClass开始,我给你讲讲都是什么。
    事件分类,申请了语句,应用程序名称,操作系统用户,数据库用户,cpu占用率,读数据库次数,写数据库次说,执行脚本用时,应用程序进程号,开始时间,结束时间等。
    事件选择,你就把鼠标放上去,他下面有中文的注释。自己好好看看,然后根据你自己的需要把事件勾选上来。
     然后文件-->>另存为,可以把这些监测到的数据保存为文件,或数据表。

1.查找持续时间最长的查询

   一般情况下,最长查询时间的查询语句就是最影响性能的原因存在。它不仅占用数据库引擎大量的时间,还浪费系统资源,还影响数据库应用系统的交互速度。再对数据用应用系统进行优化时,先找出他,对其优化,在创建跟踪时,勾上TSQL-SQL:BatchCompleted.跟Stored Procedures-RPC:completed。这样就能找出来这个最长时间查询然后对其进行分析优化。

select TextData,Duration,CPU from TraceFileDataTable
where EventClass=12 -- 等于12表示BatchCompleted事件 and CPU<(0.4*Duration) --如果cpu的占用时间,小于执行sql语句时间的40%,说明该语句等待时间过长


2.最占用系统资源的查询

    就是占用cpu时间,跟读写IO的次数。建议事件包含Connect、Disconnect、ExistingConnection、SQL:BatchCompleted、RPC:completed,列包含writes,reads,cpu。

3.检测死锁

    在访问量,并发量都很大的数据库中,如果设计稍不合理,就有可能造成死锁,给系统性能带来影响。事件包含:RPC:Starting、SQL:BatchStarting、Lock:DeadLock(死锁事件)、Lock:DeadLockChaining(死锁的事件序列)。

三、数据库引擎优化顾问Database Engine Tuning Advisor

    数据库引擎优化顾问先是接受sql server profiler检测出来的sql,视图,存储过程,数据结构等等,然后他再自己分析,给出更好的索引,统计,分区等等建议信息。

打开之后,你在上一个工具中保存的的文件,你就在这里的工作负荷中选文件,表就选表,把要分析的数据库跟数据库的表选上,也就是下面的用于工作负荷分析的数据库选择,跟下面的要优化的数据库和表


然后选则你想要的优化选项


根据需要,选上,高级选项里面通常可以默认。确定。。
然后点左上角有一个开始分析。
分析完成











版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java基础-18总结Map,HashMap,HashMap与Hashtable区别,Collections工具类
你需要的是什么,直接评论留言。 获取更多资源加微信公众号“Java帮帮” (是公众号,不是微信好友哦) 还有“Java帮帮”今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:Map(掌握) (1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只
2452 0
iOS 性能检测新方式​——AnimationHitches
iOS 性能检测新方式​——AnimationHitches
64 0
使用cProfile等工具来提高python的执行速度
众所周知,python相较于其它语言速度较慢,但是我们可以通过优化的方法来提升效率。
8635 0
Data Lake Analytics助力加和科技广告智能业务 - 性能提升4倍+,临时业务需求承接率提升200%+
阿里云Data Lake Analytics助力加和科技广告智能业务 - 性能提升4倍+,临时业务需求承接率提升200%+
2241 0
+关注
杰克.陈
一个安静的程序猿~
10427
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载