首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >postgres pg_statio: heap_blks_hit和idx_blks_hit的区别

postgres pg_statio: heap_blks_hit和idx_blks_hit的区别
EN

Stack Overflow用户
提问于 2021-01-16 21:47:06
回答 1查看 816关注 0票数 1

我对以下问题感兴趣:

代码语言:javascript
复制
    create or replace view iostat as select blk.relname
    as relname,blk.heap_blks_read || ':' || blk.heap_blks_hit as heap_blk,
            blk.idx_blks_read || ':' || blk.idx_blks_hit as idx_blk,
            tpl.seq_scan || ':' || tpl.seq_tup_read as seq_tup,
            tpl.idx_scan || ':' || tpl.idx_tup_fetch as idx_tup
    from  pg_statio_user_tables blk JOIN  pg_stat_user_tables tpl
    USING (relname);

所有对的区别是什么?所有这些都意味着什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-17 09:06:27

在这种情况下,“堆”不应与计算机科学术语“堆”混淆,后者指的是数据结构或内存段。在PostgreSQL中,“堆”是指与特定表相关的数据文件。以idx_为前缀的列是指为加快数据查找速度而创建的索引(在堆中)。

为了回答你关于对的意义的问题,我用这样的方式来描述它们:

  • heap_blk是从磁盘读取的表的8KB块之间的比率,:是从缓存中读取的表的8KB块。
  • idx_blk将是“此表”的所有索引(由relname表示)从磁盘读取的8KB块与从缓存读取的“此表”的所有索引的8KB块之间的比率。
  • seq_tup将是对“此表”执行的顺序扫描次数的比率,:从“此表”读取的行/元组数(自上次pg_reset_stats()调用以来)。
  • idx_tup将是对“此表”执行的索引扫描数与引用索引后获取的行/元组数之间的比率。

有关pg_statio_user_tables的每一列的更多详细信息,可以找到在文件中

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65755085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档