機能の概要
指定されたSQLステートメントの特定の期間における実行計画の詳細を照会するために使用されます。これには、実行計画の統計情報、演算子の詳細、アウトラインデータなどが含まれます。このAPIは、SQLパフォーマンス分析と最適化のシナリオに適しています。
呼び出しの説明
インターフェース制約
呼び出し元はマルチクラウドAPIにアクセスするためのキーを保有している必要があります。AccessKey IDとAccessKey Secretの取得方法については、アクセスキーの管理をご参照ください。
リクエストパス
GET /api/v2/instances/{instanceId}/tenants/{tenantId}/sqls/{sqlId}/topPlanGroup
リクエストパラメータ
Path
名前 |
型 |
必須 |
説明 |
例値 |
|---|---|---|---|---|
| instanceId | String | はい | OceanBaseクラウドデータベースインスタンスID | obcluster-***** |
| tenantId | String | はい | テナントID | t4louaeei**** |
| sqlId | String | はい | SQLステートメントの一意の識別子 | sql_123456789 |
Query
名前 |
型 |
必須 |
説明 |
例値 |
|---|---|---|---|---|
| requestId | String | はい | リクエストID(追跡用) | dc302d76-66b5-48d8-ab53-a035******** |
| dbName | String | いいえ | データベース名 | test |
| startTime | String | はい | 開始時間(UTC) | 2026-02-25 15:40:43+00:00 |
| endTime | String | はい | 終了時間(UTC) | 2026-02-26 10:40:43+00:00 |
| dynamicSql | Boolean | いいえ | Dynamic sqlパラメータ | false |
| planUnionHash | String | いいえ | Plan union hashパラメータ | c******** |
| returnBriefInfo | Boolean | いいえ | Return brief infoパラメータ | true |
| checkOutlineStatus | Boolean | いいえ | Check outline statusパラメータ | false |
| formatSqlId | String | いいえ | Format sql idパラメータ | - |
戻り値
パラメータ名 |
型 |
説明 |
例 |
|---|---|---|---|
| data | Object | データ | - |
| dataList | Array | データリスト | - |
| avgCpuTime | Number | 期間内の平均CPU時間(ミリ秒) | 447.66 |
| bounded | Boolean | この実行計画がバインドされているかどうか | false |
| byFormatSqlId | Boolean | あいまいバインドかどうか | false |
| executions | Number | 実行回数 | 2088 |
| firstLoadTime | String | Planが初めてロードされた時間 | 2025-12-23T06:43:07.429Z |
| fullPlan | String | 完全な実行計画 | TOP-N S |
| hitDiagnosis | Boolean | 診断にヒットしたかどうか | false |
| mergedVersion | Number | スキーマバージョン | 0 |
| outlineData | String | SQL実行計画のoutline_dataフィールド | /*+BEGIN_OUTLINE_DATA FULL(@"SEL$1" "test11"."high_disk_read_2"@"SEL$1") OPTIMIZER_FEATURES_ENABLE('4.4.1.0') END_OUTLINE_DATA*/ |
| planExplain | Object | 実行計画の詳細 | - |
| explainType | String | 実行計画の詳細タイプ:PHYSICAL(物理実行計画)、LOGICAL(論理実行計画) | LOGICAL |
| notEmpty | Boolean | 空かどうか | true |
| optimizationInfo | Array | OPTIMIZER 例:物理行、論理行、再テーブル行数、使用する統計情報タイプ、統計情報のバージョン番号 | [OPTIMIZER STATISTICS, STORAGE] |
| otherInfo | String | OTHER 例:計画タイプ、Fast Parserのパラメータ化情報、Plan Note、計画ヒットの制約情報 | because of table property\n |
| outlineData | String | SQL実行計画のoutline_dataフィールド | /*+BEGIN_OUTLINE_DATA FULL(@"SEL$1" "test11"."high_disk_read_2"@"SEL$1") OPTIMIZER_FEATURES_ENABLE('4.4.1.0') END_OUTLINE_DATA*/ |
| qbNameTrace | String | REMARKS qb_nameの変更追跡情報 | stmt_id:0, SEL$1 |
| rootOperations | Array | 操作対象テーブル | - |
| children | Array | 子操作(rootOperationsと同じ) | - |
| cost | Number | コスト | 187080 |
| cpuCost | Number | CPUコスト | 154276 |
| depth | Number | 演算子の深さ | 1 |
| id | Number | 論理演算子 | 1 |
| ioCost | Number | I/Oコスト(論理実行計画のみ) | 0 |
| objectName | String | 操作対象名 | high_disk_read_2 |
| operator | String | 論理演算子 | TABLE FULL SCAN |
| property | String | 出力フィルター | output([high_disk_read_2.id], |
| realCost | Number | 実際のコスト(論理実行計画のみ) | 153055 |
| realRows | Number | 実際の行数(論理実行計画のみ) | 621 |
| rows | Number | 予測行数 | 2000000 |
| cost | Number | コスト | 192374 |
| cpuCost | Number | CPUコスト | 73 |
| depth | Number | 演算子の深さ | 0 |
| id | Number | 論理演算子ID | 0 |
| ioCost | Number | I/Oコスト | 0 |
| objectName | String | オブジェクト名 | |
| operator | String | 演算子 | TOP-N SORT |
| property | String | 出力フィルター | output([high_disk_read_2.id], [high_disk_read_2.name], [high_disk_read_2.class]),rowset=256,sort_keys([high_disk_read_2.id, DESC]), topn(1) |
| realCost | Number | 実際のコスト | 153055 |
| realRows | Number | 実際の行数 | 1 |
| rows | Number | 行数 | 1 |
| usedHint | String | 使用したヒント | " /*+\n \n */" |
| planHash | String | SQL実行計画の診断システム内部識別子 | 16******** |
| planInfo | String | 実行計画情報 | TOP-N SORT , | \n TABLE FULL SCAN , high_disk_read_2 | \n |
| planType | String | 実行計画タイプ:LOCAL(ローカル実行計画)、REMOTE(リモート実行計画) | LOCAL |
| planUnionHash | String | SQL実行計画の診断システム内部での一意の識別子 | 16******** |
| plans | Array | 実行計画リスト | - |
| bounded | Boolean | この実行計画がバインドされているかどうか | false |
| collectTimeUs | Number | 収集時間 | 1766448000000000 |
| firstLoadTime | String | プランが初めて読み込まれた時間 | 2025-12-23T06:43:07.429Z |
| firstLoadTimeUs | Number | プランが初めて読み込まれた時間(マイクロ秒) | 1766472187429757 |
| hitDiagnosis | Boolean | 診断にヒットしたかどうか | false |
| mergedVersion | Number | スキーマバージョン | 0 |
| obDbId | Number | データベースID | 500006 |
| obServerId | Number | サーバーID | 1 |
| outlineData | String | SQL実行計画のoutline_dataフィールド | /*+BEGIN_OUTLINE_DATA FULL(@"SEL$1" "test11"."high_disk_read_2"@"SEL$1") OPTIMIZER_FEATURES_ENABLE('4.4.1.0') END_OUTLINE_DATA*/ |
| outlineId | Number | この計画で使用されるアウトラインID | -1 |
| planHash | String | SQL実行計画の診断システム内部での識別子 | 16******** |
| planId | Number | 計画ID | 1049 |
| planSize | Number | 計画サイズ | 66424 |
| schemaVersion | Number | スキーマバージョン | 1766472172772496 |
| serverSn | String | サーバーSN | i-uf****** |
| sqlId | String | SQL ID | 5D51DC02208F9A448157FD8A******** |
| tableScan | Boolean | テーブルスキャンかどうか | true |
| requestId | String | リクエストID | 12a53ac0-5eeb-4aaa-8753-3cacc696101a |
| success | Boolean | 成功したかどうか | true |
例
リクエスト例
curl --digest \
-u '<Your AK:SK>' \
-X GET \
'https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/tenants/{tenantId}/sqls/{sqlId}/topPlanGroup?requestId={requestId}&dbName={dbName}&startTime={startTime}&endTime={endTime}&dynamicSql={dynamicSql}&planUnionHash={planUnionHash}&returnBriefInfo={returnBriefInfo}&checkOutlineStatus={checkOutlineStatus}&formatSqlId={formatSqlId}'
レスポンス例
JSON形式
{
"data": {
"dataList": [
{
"avgCpuTime": 447.66,
"bounded": false,
"byFormatSqlId": false,
"executions": 2088,
"firstLoadTime": "2025-12-23T06:43:07.429Z",
"fullPlan": "TOP-N S",
"hitDiagnosis": false,
"mergedVersion": 0,
"outlineData": "/*+BEGIN_OUTLINE_DATA FULL(@\"SEL$1\" \"test11\".\"high_disk_read_2\"@\"SEL$1\") OPTIMIZER_FEATURES_ENABLE('4.4.1.0') END_OUTLINE_DATA*/",
"planExplain": {
"explainType": "LOGICAL",
"notEmpty": true,
"optimizationInfo": [
"OPTIMIZER STATISTICS, STORAGE]"
],
"otherInfo": " because of table property\n",
"outlineData": "/*+BEGIN_OUTLINE_DATA FULL(@\"SEL$1\" \"test11\".\"high_disk_read_2\"@\"SEL$1\") OPTIMIZER_FEATURES_ENABLE('4.4.1.0') END_OUTLINE_DATA*/",
"qbNameTrace": " stmt_id:0, SEL$1\n",
"rootOperations": [
{
"children": [
{
"cost": 187080,
"cpuCost": 154276,
"depth": 1,
"id": 1,
"ioCost": 0,
"objectName": "high_disk_read_2",
"operator": "TABLE FULL SCAN",
"property": "output([high_disk_read_2.id], ",
"realCost": 153055,
"realRows": 621,
"rows": 2000000
}
],
"cost": 192374,
"cpuCost": 73,
"depth": 0,
"id": 0,
"ioCost": 0,
"objectName": "",
"operator": "TOP-N SORT",
"property": "output([high_disk_read_2.id], [high_disk_read_2.name], [high_disk_read_2.class]),rowset=256,sort_keys([high_disk_read_2.id, DESC]), topn(1)",
"realCost": 153055,
"realRows": 1,
"rows": 1
}
],
"usedHint": " /*+\n \n */"
},
"planHash": "16********",
"planInfo": "TOP-N SORT , | \n TABLE FULL SCAN , high_disk_read_2 | \n",
"planType": "LOCAL",
"planUnionHash": "16********",
"plans": [
{
"bounded": false,
"collectTimeUs": 1766448000000000,
"firstLoadTime": "2025-12-23T06:43:07.429Z",
"firstLoadTimeUs": 1766472187429757,
"hitDiagnosis": false,
"mergedVersion": 0,
"obDbId": 500006,
"obServerId": 1,
"outlineData": "/*+BEGIN_OUTLINE_DATA FULL(@\"SEL$1\" \"test11\".\"high_disk_read_2\"@\"SEL$1\") OPTIMIZER_FEATURES_ENABLE('4.4.1.0') END_OUTLINE_DATA*/",
"outlineId": -1,
"planHash": "16********",
"planId": 1049,
"planSize": 66424,
"schemaVersion": 1766472172772496,
"serverSn": "i-uf********",
"sqlId": "5D51DC02208F9A448157FD8A********",
"tableScan": true
}
],
"tableScan": true
}
]
},
"requestId": "12a53ac0-5eeb-4aaa-8753-3cacc696101a",
"success": true
}