调用GetFullRequestStatResultByInstanceId接口,按照SQL ID异步统计数据库实例SQL洞察结果中的全量请求数据。

说明 异步调用后不会立即返回完整结果,当返回数据中isFinish取值为false时,请等待1s后重新发起调用,直到isFinish取值为true时,返回完整结果。

SQL洞察功能可对SQL进行健康情况诊断、性能问题排查,详情请参见SQL洞察

  • 目前支持的数据库实例请参见DAS专业版使用说明
  • 在使用SDK调用DAS服务时,需要将地域指定为cn-shanghai。

请求参数

名称 类型 是否必选 示例值 描述
Action String GetFullRequestStatResultByInstanceId

系统规定参数。取值:GetFullRequestStatResultByInstanceId

UserId String 196278346919****

用户ID,即创建数据库实例的阿里云主账号ID。

说明 非必填,输入目标数据库实例ID后,在调用API接口时,系统会自动获取用户ID。
InstanceId String rm-2ze8g2am97624****

实例ID。

NodeId String pi-bp12v7243x012****

节点ID。

说明 对于PolarDB MySQL实例,需要提供节点ID。
SqlId String d71f82be1eef72bd105128204d2e****

SQL ID。

说明 填写SQL ID时,统计目标SQL ID的全量请求数据;为空时,统计整个数据库实例的全量请求数据。
OriginHost String 172.26.XX.XXX

执行SQL的客户端IP地址。

说明 非必填,输入目标客户端IP地址后,统计目标客户端IP地址的全量请求数据;为空时,统计整个数据库实例的全量请求数据。
Keyword String dbtest01

查询关键词。

Start Long 1645581813000

查询开始时间,格式为Unix时间戳,单位为毫秒。

说明 查询开始时间需要在数据库实例SQL洞察存储时长范围内,最大不能早于当前时间90天。
End Long 1645668213000

查询结束时间,格式为Unix时间戳,单位为毫秒。

说明 查询结束时间需晚于查询开始时间,且查询开始时间和查询结束时间的间隔不能超过1天。
OrderBy String count

排序字段,默认为count

  • count:执行次数。
  • avgRt:平均执行时间。
  • rtRate:耗时比例。
  • rowsExamined:总扫描行数。
  • avgRowsExamined:平均扫描行数。
  • avgRowsReturned:平均返回行数。
Asc Boolean 关闭

升序排序开关,默认关闭。

PageNo Integer 1

分页查询的页码,从1开始,默认为1。

PageSize Integer 20

分页查询每页数据量,默认为20。

SqlType String SELECT

SQL语句的类型,取值包括:SELECTINSERTUPDATEDELETELOGINLOGOUTMERGEALTERCREATEINDEXDROPINDEXCREATEDROPSETDESCREPLACECALLBEGINDESCRIBEROLLBACKFLUSHUSESHOWSTARTCOMMITRENAME

说明 当数据库实例为RDS MySQL、PolarDB MySQL、PolarDB-X 2.0时,可以通过SQL语句类型进行统计。
DbName String dbtest01

数据库名。

Role String polarx_cn

PolarDB-X 2.0数据库实例节点信息。

  • polarx_cn:计算节点。
  • polarx_en:数据节点。

返回数据

名称 类型 示例值 描述
Message String Successful

请求返回消息。

说明 请求成功时该参数返回Successful,请求失败时会返回请求异常信息(如错误码等)
RequestId String 7172BECE-588A-5961-8126-C216E16B****

请求ID。

Data Object

返回数据。

Result Object

返回的全量请求数据。

List Array of List

全量请求数据列表。

SqlId String d71f82be1eef72bd105128204d2e****

SQL ID。

AvgFetchRows Long 0

PolarDB-X 2.0数据库实例计算节点平均拉取数据节点的行数。

AvgLockWaitTime double 0.00009589874265269765

平均锁等待时长,单位为秒。

AvgLogicalRead double 654.4470327860251

平均逻辑读。

AvgPhysicalAsyncRead Long 0

平均物理异步读取。

AvgPhysicalSyncRead Long 0

平均物理同步读取。

AvgExaminedRows double 10000

平均扫描行数。

说明 目前支持该字段的数据库:RDS MySQL、RDS PostgreSQL、PolarDB MySQL。
AvgReturnedRows double 10000

平均返回行数。

AvgUpdatedRows Long 10000

平均修改行数。

说明 目前支持该字段的数据库:RDS MySQL、PolarDB-X 2.0。
AvgRt double 2.499

平均执行耗时。

AvgSqlCount Long 10000

平均SQL计数。

Count Long 100000

总执行次数。

CountRate double 0.0586

执行次数比例。

Database String dbtest01

数据库名。

ErrorCount Long 1

执行错误次数。

FetchRows Long 0

PolarDB-X 2.0数据库实例计算节点拉取数据节点的行数。

Ip String rm-uf6dyi58dm6****.mysql.rds.aliy****.com

实例的网络地址。

LockWaitTime double 1089.4177720290281

锁等待时长,单位为秒。

LogicalRead Long 7.434573266E9

逻辑读。

PhysicalAsyncRead Long 0

物理异步读取。

PhysicalSyncRead Long 0

物理同步读取。

Port Long 3306

端口号。

Psql String select * from dbtest01 where ****

SQL模板。

Rows Long 0

PolarDB-X 2.0数据库实例计算节点总更新或返回的行数。

ExaminedRows Long 10000

总扫描行数。

说明 目前支持该字段的数据库:RDS MySQL、RDS PostgreSQL、PolarDB MySQL。
RtGreaterThanOneSecondCount Long 20

执行时长大于1秒的SQL数量。

RtRate double 2.499

耗时比例。

SqlCount Long 200

SQL的数量。

SumUpdatedRows Long 100

总变更行数。

Tables Array of String tabletest01,tabletest02

数据库表名。

Version Long 1

版本。

VpcId String vpc-2zentqj1sk4qmolci****

VPC ID。

Total Long 1

总数据量。

Fail Boolean false

请求是否失败。

  • true:是。
  • false:否。
IsFinish Boolean true

异步请求是否执行完成。

  • true:是。
  • false:否。
ResultId String 9CB97BC4-6479-55D0-B9D0-EA925AFE****

请求的ID。

State String SUCCESS

异步请求的执行状态。

  • RUNNING:正在运行。
  • SUCCESS:成功。
  • FAIL:失败。
Timestamp Long 1645668213000

执行时间,格式为Unix时间戳,单位为毫秒。

Code Long 200

返回的状态码。

Success Boolean true

请求是否执行成功:

  • true:执行成功。
  • false:执行失败。

示例

请求示例

http(s)://das.cn-shanghai.aliyuncs.com/?Action=GetFullRequestStatResultByInstanceId
&UserId=196278346919****
&InstanceId=rm-2ze8g2am97624****
&SqlId=d71f82be1eef72bd105128204d2e****
&OriginHost=172.26.XX.XXX
&Keyword=dbtest01
&Start=1645581813000
&End=1645668213000
&OrderBy=count
&PageNo=1
&PageSize=20
&SqlType=SELECT
&DbName=dbtest01
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GetFullRequestStatResultByInstanceIdResponse>
    <Message>Successful</Message>
    <RequestId>7172BECE-588A-5961-8126-C216E16B****</RequestId>
    <Data>
        <Result>
            <List>
                <SqlId>d71f82be1eef72bd105128204d2e****</SqlId>
                <AvgFetchRows>0</AvgFetchRows>
                <AvgLockWaitTime>0.00009589874265269765</AvgLockWaitTime>
                <AvgLogicalRead>654.4470327860251</AvgLogicalRead>
                <AvgPhysicalAsyncRead>0</AvgPhysicalAsyncRead>
                <AvgPhysicalSyncRead>0</AvgPhysicalSyncRead>
                <AvgExaminedRows>10000</AvgExaminedRows>
                <AvgReturnedRows>10000</AvgReturnedRows>
                <AvgUpdatedRows>10000</AvgUpdatedRows>
                <AvgRt>2.499</AvgRt>
                <AvgSqlCount>10000</AvgSqlCount>
                <Count>100000</Count>
                <CountRate>0.0586</CountRate>
                <Database>dbtest01</Database>
                <ErrorCount>1</ErrorCount>
                <FetchRows>0</FetchRows>
                <Ip>rm-uf6dyi58dm6****.mysql.rds.aliy****.com</Ip>
                <LockWaitTime>1089.4177720290281</LockWaitTime>
                <PhysicalAsyncRead>0</PhysicalAsyncRead>
                <PhysicalSyncRead>0</PhysicalSyncRead>
                <Port>3306</Port>
                <Psql>select * from dbtest01 where ****</Psql>
                <Rows>0</Rows>
                <ExaminedRows>10000</ExaminedRows>
                <RtGreaterThanOneSecondCount>20</RtGreaterThanOneSecondCount>
                <RtRate>2.499</RtRate>
                <SqlCount>200</SqlCount>
                <SumUpdatedRows>100</SumUpdatedRows>
                <Tables>tabletest01,tabletest02</Tables>
                <Version>1</Version>
                <VpcId>vpc-2zentqj1sk4qmolci****</VpcId>
            </List>
            <Total>1</Total>
        </Result>
        <Fail>false</Fail>
        <IsFinish>true</IsFinish>
        <ResultId>9CB97BC4-6479-55D0-B9D0-EA925AFE****</ResultId>
        <State>SUCCESS</State>
        <Timestamp>1645668213000</Timestamp>
    </Data>
    <Code>200</Code>
    <Success>true</Success>
</GetFullRequestStatResultByInstanceIdResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Message" : "Successful",
  "RequestId" : "7172BECE-588A-5961-8126-C216E16B****",
  "Data" : {
    "Result" : {
      "List" : [ {
        "SqlId" : "d71f82be1eef72bd105128204d2e****",
        "AvgFetchRows" : 0,
        "AvgLockWaitTime" : 9.589874265269765E-5,
        "AvgLogicalRead" : 654.4470327860251,
        "AvgPhysicalAsyncRead" : 0,
        "AvgPhysicalSyncRead" : 0,
        "AvgExaminedRows" : 10000,
        "AvgReturnedRows" : 10000,
        "AvgUpdatedRows" : 10000,
        "AvgRt" : 2.499,
        "AvgSqlCount" : 10000,
        "Count" : 100000,
        "CountRate" : 0.0586,
        "Database" : "dbtest01",
        "ErrorCount" : 1,
        "FetchRows" : 0,
        "Ip" : "rm-uf6dyi58dm6****.mysql.rds.aliy****.com",
        "LockWaitTime" : 1089.4177720290281,
        "PhysicalAsyncRead" : 0,
        "PhysicalSyncRead" : 0,
        "Port" : 3306,
        "Psql" : "select * from dbtest01 where ****",
        "Rows" : 0,
        "ExaminedRows" : 10000,
        "RtGreaterThanOneSecondCount" : 20,
        "RtRate" : 2.499,
        "SqlCount" : 200,
        "SumUpdatedRows" : 100,
        "Tables" : [ "tabletest01,tabletest02" ],
        "Version" : 1,
        "VpcId" : "vpc-2zentqj1sk4qmolci****"
      } ],
      "Total" : 1
    },
    "Fail" : false,
    "IsFinish" : true,
    "ResultId" : "9CB97BC4-6479-55D0-B9D0-EA925AFE****",
    "State" : "SUCCESS",
    "Timestamp" : 1645668213000
  },
  "Code" : 200,
  "Success" : true
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParams The request parameters are invalid. 请求参数错误

访问错误中心查看更多错误码。