97 lines
3.3 KiB
JavaScript
97 lines
3.3 KiB
JavaScript
const map = [
|
|
{
|
|
executeSql: `
|
|
SELECT
|
|
DB_NAME,
|
|
SQL_ID,
|
|
COUNT(*) AS exec_cnt,
|
|
ROUND(SUM(ELAPSED_TIME) / 1000000, 2) AS total_s,
|
|
ROUND(AVG(ELAPSED_TIME) / 1000, 3) AS avg_ms,
|
|
ROUND(MAX(ELAPSED_TIME) / 1000, 3) AS max_ms,
|
|
SUM(CASE WHEN TABLE_SCAN = 1 THEN 1 ELSE 0 END) AS table_scan_cnt,
|
|
ROUND(AVG(MEMSTORE_READ_ROW_COUNT + SSSTORE_READ_ROW_COUNT), 2) AS avg_read_rows,
|
|
ROUND(AVG(RETURN_ROWS), 2) AS avg_return_rows,
|
|
MAX(LEFT(REPLACE(QUERY_SQL, '\n', ' '), 300)) AS sample_sql
|
|
FROM oceanbase.GV$OB_SQL_AUDIT
|
|
WHERE REQUEST_TIME >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 HOUR)) * 1000000
|
|
AND DB_NAME = 'pjcloudx'
|
|
AND IS_INNER_SQL = 0
|
|
AND QUERY_SQL NOT IN ('SET autocommit=1', 'SET autocommit=0', 'commit', 'SELECT @@session.transaction_read_only')
|
|
GROUP BY DB_NAME, SQL_ID
|
|
ORDER BY total_s DESC
|
|
LIMIT 30;`,
|
|
resultJsonPath: './pjcloudx-1.json'
|
|
},
|
|
{
|
|
executeSql: `
|
|
SELECT
|
|
DB_NAME,
|
|
SQL_ID,
|
|
COUNT(*) AS exec_cnt,
|
|
ROUND(AVG(ELAPSED_TIME) / 1000, 3) AS avg_ms,
|
|
ROUND(MAX(ELAPSED_TIME) / 1000, 3) AS max_ms,
|
|
ROUND(SUM(ELAPSED_TIME) / 1000000, 2) AS total_s,
|
|
SUM(CASE WHEN TABLE_SCAN = 1 THEN 1 ELSE 0 END) AS table_scan_cnt,
|
|
ROUND(AVG(MEMSTORE_READ_ROW_COUNT + SSSTORE_READ_ROW_COUNT), 2) AS avg_read_rows,
|
|
MAX(LEFT(REPLACE(QUERY_SQL, '\n', ' '), 300)) AS sample_sql
|
|
FROM oceanbase.GV$OB_SQL_AUDIT
|
|
WHERE REQUEST_TIME >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 HOUR)) * 1000000
|
|
AND DB_NAME = 'pjcloudx'
|
|
AND IS_INNER_SQL = 0
|
|
AND QUERY_SQL NOT IN ('SET autocommit=1', 'SET autocommit=0', 'commit', 'SELECT @@session.transaction_read_only')
|
|
GROUP BY DB_NAME, SQL_ID
|
|
HAVING COUNT(*) >= 5
|
|
ORDER BY avg_ms DESC
|
|
LIMIT 30;
|
|
`,
|
|
resultJsonPath: './pjcloudx-2.json'
|
|
},
|
|
{
|
|
executeSql: `
|
|
SELECT
|
|
DB_NAME,
|
|
SQL_ID,
|
|
COUNT(*) AS exec_cnt,
|
|
SUM(CASE WHEN TABLE_SCAN = 1 THEN 1 ELSE 0 END) AS table_scan_cnt,
|
|
ROUND(SUM(CASE WHEN TABLE_SCAN = 1 THEN 1 ELSE 0 END) / COUNT(*) * 100, 2) AS table_scan_pct,
|
|
ROUND(AVG(ELAPSED_TIME) / 1000, 3) AS avg_ms,
|
|
ROUND(AVG(MEMSTORE_READ_ROW_COUNT + SSSTORE_READ_ROW_COUNT), 2) AS avg_read_rows,
|
|
MAX(LEFT(REPLACE(QUERY_SQL, '\n', ' '), 300)) AS sample_sql
|
|
FROM oceanbase.GV$OB_SQL_AUDIT
|
|
WHERE REQUEST_TIME >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 HOUR)) * 1000000
|
|
AND DB_NAME = 'pjcloudx'
|
|
AND IS_INNER_SQL = 0
|
|
AND QUERY_SQL NOT IN ('SET autocommit=1', 'SET autocommit=0', 'commit', 'SELECT @@session.transaction_read_only')
|
|
GROUP BY DB_NAME, SQL_ID
|
|
HAVING table_scan_cnt > 0
|
|
ORDER BY table_scan_cnt DESC, avg_ms DESC
|
|
LIMIT 30;
|
|
`,
|
|
resultJsonPath: './pjcloudx-3.json'
|
|
},
|
|
{
|
|
executeSql: `
|
|
SELECT
|
|
FROM_UNIXTIME(REQUEST_TIME / 1000000) AS req_time,
|
|
DB_NAME,
|
|
SQL_ID,
|
|
PLAN_ID,
|
|
ROUND(ELAPSED_TIME / 1000, 3) AS elapsed_ms,
|
|
ROUND(EXECUTE_TIME / 1000, 3) AS execute_ms,
|
|
ROUND(QUEUE_TIME / 1000, 3) AS queue_ms,
|
|
TABLE_SCAN,
|
|
MEMSTORE_READ_ROW_COUNT,
|
|
SSSTORE_READ_ROW_COUNT,
|
|
RETURN_ROWS,
|
|
AFFECTED_ROWS,
|
|
LEFT(REPLACE(QUERY_SQL, '\n', ' '), 500) AS sample_sql
|
|
FROM oceanbase.GV$OB_SQL_AUDIT
|
|
WHERE REQUEST_TIME >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 HOUR)) * 1000000
|
|
AND DB_NAME = 'pjcloudx'
|
|
AND IS_INNER_SQL = 0
|
|
ORDER BY ELAPSED_TIME DESC
|
|
LIMIT 50;
|
|
`,
|
|
resultJsonPath: './pjcloudx-4.json'
|
|
}
|
|
] |