开发者社区 问答 正文

API参考 - API参考 - 日志管理 - DescribeSlowLogRecords



描述


用户可以查询某日期范围内、某个用户实例下、某个数据库的慢查询明细,目前支持MySQL、PostgreSQL和PPAS类型的实例。

请求参数

[tr=rgb(51, 205, 229)][td]名称 类型是否必须描述ActionString是系统规定参数,取值:DescribeSlowLogRecords。DBInstanceIdString是实例名。StartTimeString是查询开始日期,格式:YYYY-MM-DD’T’HH:mmZ,如2011-06-11T15:00Z。EndTimeString是查询结束日期,不能小于查询开始日期,格式:YYYY-MM-DD’T’HH:mmZ,如2011-06-11 T16:00Z。DBNameString否数据库名称。PageSizeInteger否每页记录数,取值:30/50/100;默认值:30。PageNumberInteger否页码,大于0且不超过Integer的最大值;默认值:1。

返回参数

[tr=rgb(51, 205, 229)][td]名称 类型描述<公共返回参数>详见公共参数。EngineString数据库类型。TotalRecordCountInteger总记录数。PageNumberInteger页码。PageRecordCountInteger本页SQL语句个数。Items

List<SQLSlowRecord>

SQLSlowLog参数

[tr=rgb(51, 205, 229)][td]名称 类型描述HostAddressString用户连接数据库的主机地址。DBNameString数据库名称。SQLTextString查询语句。QueryTimesLong执行时长,单位:秒。LockTimesLong锁定时长,单位:秒。ParseRowCountsLong解析行数。ReturnRowCountsLong返回行数。ExecutionStartTimeString执行开始时间;格式:YYYY-MM-DD’T’HH:mm:ss Z,如2011-06-11 T15:00:08Z。

请求示例https://rds.aliyuncs.com/?Action=DescribeSlowLogRecords
&DBInstanceId=riauvjz6zajfiq6ba1370329449201
&StartTime=2011-06-11T15:00Z
&EndTime=2011-06-11T16:00Z
&<公共请求参数>








返回示例


XML格式 <DescribeSlowLogRecordsResponse>
  <RequestId>542BB8D6-4268-45CC-A557-B03EFD7AB30A</RequestId>
  <DBInstanceID>riauvjz6zajfiq6ba1370329449201</DBInstanceID>
  <Engine>MySQL</Engine>
  <TotalRecordCount>1</TotalRecordCount>
  <PageNumber>1</PageNumber>
  <PageRecordCount>1</PageRecordCount>
  <Items>
    <SQLSlowRecord>
    <HostAddress>192.168.0.123</HostAddress>
    <DBName>test</DBName>
    <SQLText>update test.zxb set id=0 limit 1</SQLText>
    <QueryTimes>123</QueryTimes>
    <LockTimes>12</LockTimes>
    <ParseRowCounts>125</ParseRowCounts>
    <ReturnRowCounts>1</ReturnRowCounts>
    <ExecutionStartTime>2011-06-11T15:00:08Z</ExecutionStartTime>
    </SQLSlowRecord>
  </Items>
</DescribeSlowLogRecordsResponse>





JSON格式 {
"RequestId":"542BB8D6-4268-45CC-A557-B03EFD7AB30A"
"Engine":"MySQL",
"PageNumber":1,
"PageRecordCount":1,
"TotalRecordCount":1
"Items":
{"SQLSlowRecord":
[
{
HostAddress:”192.168.0.123”
DBName:”test”
SQLText:” update test.zxb set id=0 limit 1”
QueryTimes:”123”
LockTimes”12”
ParseRowCounts:”125”
ReturnRowCounts:”1”
ExecutionStartTime:”2011-06-11T15:00:08Z”
}
]
}
}




展开
收起
梨好橙 2018-09-14 23:07:05 1531 分享 版权
阿里云 AI 助理回答

如何查询指定日期范围、用户实例及数据库下的慢查询明细

请求参数说明

  1. Action: DescribeSlowLogRecords,此为系统规定参数,用于标识要执行的操作类型。
  2. DBInstanceId: 必填,实例名,即您想要查询的数据库实例ID。
  3. StartTime: 必填,查询开始日期,格式应为YYYY-MM-DD'T'HH:mmZ,例如2011-06-11T15:00Z
  4. EndTime: 必填,查询结束日期,需晚于开始日期,格式同上,如2011-06-11T16:00Z
  5. DBName: 可选,数据库名称,如果您想针对特定数据库查询慢SQL,则需要填写。
  6. PageSize: 可选,每页记录数,默认值为30,可选值为30、50、100。
  7. PageNumber: 可选,页码,默认值为1,需大于0且不超过Integer的最大值。

返回参数说明

  • Engine: 数据库类型,如MySQL、PostgreSQL或PPAS等。
  • TotalRecordCount: 总记录数,表示满足条件的慢SQL总数。
  • PageNumber: 实际返回的页码。
  • PageRecordCount: 本页包含的SQL语句个数。
  • Items: SQLSlowLog列表,其中包含:
    • HostAddress: 用户连接数据库的主机地址。
    • DBName: 数据库名称。
    • SQLText: 慢查询的具体语句。
    • QueryTimes: 执行时长,单位为秒。
    • LockTimes: 锁定时长,单位为秒。
    • ParseRowCounts: 解析行数。
    • ReturnRowCounts: 返回行数。
    • ExecutionStartTime: 执行开始时间,格式为YYYY-MM-DD'T'HH:mm:ss Z

查询操作步骤

  1. 构建请求:根据上述参数准备HTTP请求,确保Action设置为DescribeSlowLogRecords,并正确填充其他必填和选填参数。

  2. 发送请求:将构造好的请求发送至RDS服务的API端点,如示例中的https://rds.aliyuncs.com/

  3. 处理响应:接收并解析API返回的数据,关注TotalRecordCount了解慢SQL总数量,并在Items中查看具体的慢SQL明细。

注意事项

  • 确保实例类型支持慢日志查询功能,如MySQL、PostgreSQL和PPAS。
  • 考虑到性能影响,建议按需选择查询的时间范围和分页大小。
  • 对于PolarDB-X 1.0实例,注意逻辑慢SQL与物理慢SQL的区别,以及慢SQL明细的存储限制(最多5000条)。

通过以上步骤,您可以获取指定条件下的慢查询明细,进而分析和优化数据库性能。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答