ERROR: 关系 “sys_stat_statements“ 不存在

金仓数据库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