④整体缓存命中率(不低于99%)
SELECT
sum(heap_blks_read) as heap_read,
sum(heap_blks_hit) as heap_hit,
sum(heap_blks_hit) / (sum(heap_blks_hit) + sum(heap_blks_read)) as ratio
FROM
pg_statio_user_tables;
⑤整体索引缓存命中率(不低于99%)
SELECT
sum(idx_blks_read) as idx_read,
sum(idx_blks_hit) as idx_hit,
(sum(idx_blks_hit) - sum(idx_blks_read)) / sum(idx_blks_hit) as ratio
FROM
pg_statio_user_indexes;
⑥IO次数/缓存命中率
SELECT
*,
(heap_blks_hit*100) / (heap_blks_read+heap_blks_hit) as ratio
FROM
pg_statio_all_tables
WHERE
heap_blks_hit >= 1 AND
schemaname = 'public'
ORDER BY
ratio;
⑦频繁被访问的表
SELECT
relname,
coalesce(seq_tup_read,0)+coalesce(idx_tup_fetch,0)+coalesce(n_tup_ins,0)+coalesce(n_tup_upd,0)+coalesce(n_tup_del,0) as total,
coalesce(seq_tup_read,0)+coalesce(idx_tup_fetch,0) as select,
coalesce(n_tup_ins,0) as insert,
coalesce(n_tup_upd,0) as update,
coalesce(n_tup_del,0) as delete
FROM
pg_stat_user_tables
ORDER BY
total desc;
⑧索引的使用(「idx_scan」「idx_tup_read」「inx_tup_fetch」为0的索引就没有必要)
SELECT * FROM pg_stat_user_indexes;