金仓数据库SQLServer模式下,针对数据库 EEP_Base,找出物理读最多的 Top20 条 SQL,同时计算每条 SQL 的共享缓冲区命中率。 用来抓那些大量读磁盘、容易造成 IO 压力的慢 SQL。
SELECT query, calls,
shared_blks_read,
shared_blks_hit,
ROUND(100.0 * shared_blks_hit / NULLIF(shared_blks_hit + shared_blks_read, 0), 2) AS hit_pct
FROM sys_stat_statements
WHERE dbid = (SELECT oid FROM sys_database WHERE datname = 'EEP_Base')
ORDER BY shared_blks_read DESC
LIMIT 20;
提示报错:SQL 错误 42704: ERROR: extension "sys_stat_statements" does not exist in the current database
解决办法:
sys_stat_statements前面加 .public