Skip to content

Commit eb12248

Browse files
use the latest sql plan to get the cost
1 parent 8341657 commit eb12248

File tree

4 files changed

+25
-44
lines changed

4 files changed

+25
-44
lines changed

internal/sql-analyzer/const/sql/sql_plan.go

Lines changed: 19 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -83,56 +83,34 @@ const (
8383
CheckPlanExistence = `SELECT COUNT(*) FROM sql_plan WHERE TENANT_ID = ? AND SVR_IP = ? AND SVR_PORT = ? AND PLAN_ID = ?`
8484
GetPlanStats = `
8585
WITH PlanAgg AS (
86-
SELECT
87-
TENANT_ID,
88-
SVR_IP,
89-
SVR_PORT,
90-
PLAN_ID,
91-
PLAN_HASH,
92-
MAX(GMT_CREATE) as GMT_CREATE,
93-
SUM(IO_COST) as IO_COST,
94-
SUM(CPU_COST) as CPU_COST,
95-
SUM(COST) as COST,
96-
SUM(REAL_COST) as REAL_COST
97-
FROM sql_plan
98-
WHERE SQL_ID = ?
99-
GROUP BY TENANT_ID, SVR_IP, SVR_PORT, PLAN_ID, PLAN_HASH
100-
),
101-
PlanStats AS (
102-
SELECT
103-
PLAN_HASH,
104-
CAST(AVG(IO_COST) AS BIGINT) as IO_COST,
105-
CAST(AVG(CPU_COST) AS BIGINT) as CPU_COST,
106-
CAST(AVG(COST) AS BIGINT) as COST,
107-
CAST(AVG(REAL_COST) AS BIGINT) as REAL_COST
108-
FROM PlanAgg
109-
GROUP BY PLAN_HASH
110-
),
111-
LatestPlan AS (
11286
SELECT
11387
TENANT_ID,
11488
SVR_IP,
11589
SVR_PORT,
11690
PLAN_ID,
11791
PLAN_HASH,
11892
GMT_CREATE,
119-
ROW_NUMBER() OVER (PARTITION BY PLAN_HASH ORDER BY GMT_CREATE DESC, PLAN_ID DESC) as rn
120-
FROM PlanAgg
93+
IO_COST,
94+
CPU_COST,
95+
COST,
96+
REAL_COST,
97+
ROW_NUMBER() OVER (PARTITION BY TENANT_ID, SVR_IP, SVR_PORT, PLAN_HASH ORDER BY GMT_CREATE DESC, PLAN_ID DESC) as rn
98+
FROM sql_plan
99+
WHERE SQL_ID = ? AND ID = 0
121100
)
122101
SELECT
123-
lp.TENANT_ID,
124-
lp.SVR_IP,
125-
lp.SVR_PORT,
126-
lp.PLAN_ID,
127-
lp.PLAN_HASH,
128-
lp.GMT_CREATE,
129-
ps.IO_COST,
130-
ps.CPU_COST,
131-
ps.COST,
132-
ps.REAL_COST
133-
FROM LatestPlan lp
134-
JOIN PlanStats ps ON lp.PLAN_HASH = ps.PLAN_HASH
135-
WHERE lp.rn = 1
102+
TENANT_ID,
103+
SVR_IP,
104+
SVR_PORT,
105+
PLAN_ID,
106+
PLAN_HASH,
107+
GMT_CREATE,
108+
IO_COST,
109+
CPU_COST,
110+
COST,
111+
REAL_COST
112+
FROM PlanAgg
113+
WHERE rn = 1
136114
`
137115
GetTableInfo = `
138116
SELECT

internal/sql-analyzer/generated/swagger/docs.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,8 @@ const docTemplate = `{
333333
"type": "integer"
334334
},
335335
"planHash": {
336-
"type": "integer"
336+
"type": "string",
337+
"example": "0"
337338
},
338339
"planId": {
339340
"type": "integer"

internal/sql-analyzer/generated/swagger/swagger.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,8 @@
322322
"type": "integer"
323323
},
324324
"planHash": {
325-
"type": "integer"
325+
"type": "string",
326+
"example": "0"
326327
},
327328
"planId": {
328329
"type": "integer"

internal/sql-analyzer/generated/swagger/swagger.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ definitions:
6262
ioCost:
6363
type: integer
6464
planHash:
65-
type: integer
65+
example: "0"
66+
type: string
6667
planId:
6768
type: integer
6869
realCost:

0 commit comments

Comments
 (0)