多语言展示
当前在线:1114今日阅读:2今日分享:38

如何定位优化慢SQL语句

应用服务器响应慢,造成用户无法流畅和正常的浏览页面,严重影响用户使用体验和企业的正常业务。造成应用服务器响应慢的原因多种多样(Web应用过程响应慢、数据库响应慢、外部应用响应慢等……)听云Server能够找出应用服务器响应慢的引发原因,准确定位到SQL语句,对其执行策略进行优化,帮助运维和开发人员迅速定位具体问题并解决。具体操作如下:4如何定位Web应用响应慢原因
工具/原料
1

听云账号

2

响应慢的服务端应用

方法/步骤
1

登录控制台,选择需要关注的应用。在情报汇总页面中的应用服务器响应时间图表中可以看到各个类型的响应时间堆叠图,从图中各区域面积大小可以看出造成响应时间慢斤汽的具体原因,然后可以进入相应模块具体分析。以此账号为例可以看出数据库调用时间是造成应用服务器响应时间慢的主要原因,下面可以进入数据库模块具体分析。

2

点击数据库模块,首先看到数据库一览列表,在这里显示当前应用所有的SQL操作,并且支持包括按耗蕉酱廊时、平均响应时间、吞吐率、应用过程响应时间的多种排序方式。页面右侧图表是根据不同排序方式展示出的数据库性能图,包括TOP5 最耗时SQL堆叠图,数据库吞吐率堆叠图,数据库响应时间曲线图。

3

点击数据库一览中的SQL操作,可以查看该操作下的数据库响应时间和吞吐率曲线图以及调用者耗时百分比图。从数据库响应时间和吞吐率曲线图可以看出SQL调用次数和SQL平均响应时间的关系,调用者耗时百分比图表可以看到SQL操作在每个调用者耗时占比以及平均耗时等信息(这里的调用者指的是Web应用过程或后台服务),点击图表,会跳转到web应用。

4

下方的慢SQL追踪列表中展示出执行时间超过设置阈值的SQL信息。(若想设置或者变更慢SQL阈值,点击设置,勾选启用慢SQL查询跟踪并在慢SQL查询跟踪阈值输入即可)

6

如果设置了慢查询时进行执行计划分析的阈值,并且本次慢查询触发了阈值,此处将显示对该SQL语句的查询执行计划的结果。对于一个有经验的DBA,当他看到详尽的执行计划分析后就可以确定是否需要对其进行诸如添加索引等优化策略。

7

下方的Trace详情模块展示了这一条SQL的调用堆栈信息,包括具体的类名、方法名以及代码行等信息,从这一模块能够使我们了解到具体是哪行代码调用了这一条SQL,并且导致了数据库响应慢。

8

通过以上几个部分的分析后,可以确定是否需要对SQL语句进行优化,是否需要对执行策略进行优化,从而提升数据库的响应时间。

推荐信息