postgreSQL查看索引的使用情况

原创 2016年09月09日 09:06:05

一种追求

[权衡利弊,没有最好,只有更好]

存放索引详细信息的表

data_name=# \d+ pg_stat_user_indexes;
           View "pg_catalog.pg_stat_user_indexes"
    Column     |  Type  | Modifiers | Storage | Description 
---------------+--------+-----------+---------+-------------
 relid         | oid    |           | plain   | 
 indexrelid    | oid    |           | plain   | 
 schemaname    | name   |           | plain   | 
 relname       | name   |           | plain   | 
 indexrelname  | name   |           | plain   | 
 idx_scan      | bigint |           | plain   | 
 idx_tup_read  | bigint |           | plain   | 
 idx_tup_fetch | bigint |           | plain   | 
View definition:
 SELECT pg_stat_all_indexes.relid,
    pg_stat_all_indexes.indexrelid,
    pg_stat_all_indexes.schemaname,
    pg_stat_all_indexes.relname,
    pg_stat_all_indexes.indexrelname,
    pg_stat_all_indexes.idx_scan,
    pg_stat_all_indexes.idx_tup_read,
    pg_stat_all_indexes.idx_tup_fetch
   FROM pg_stat_all_indexes
  WHERE (pg_stat_all_indexes.schemaname <> ALL (ARRAY['pg_catalog'::name, 'information_schema'::name])) AND pg_stat_all_indexes.schemaname !~ '^pg_toast'::text;

通过这个表查看某个表的索引使用情况易如反掌了。

示例一、查看所有表的索引的使用情况

select 
    relname, indexrelname, idx_scan, idx_tup_read, idx_tup_fetch 
from 
    pg_stat_user_indexes 
order by 
    idx_scan asc, idx_tup_read asc, idx_tup_fetch asc;

示例二、查看某个表的索引使用情况

select 
    relname, indexrelname, idx_scan, idx_tup_read, idx_tup_fetch 
from 
    pg_stat_user_indexes 
where
    relname = table_name 
order by 
    idx_scan asc, idx_tup_read asc, idx_tup_fetch asc;
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

在postgresqlz中查看与删除索引

查看索引 select * from pg_indexes where tablename='tbname';      或者     select * from pg_statio_all_i...

postgresql数据库查询所有索引详细信息,包括描述信息

把里边的public改成相应模式名(默认为public,可不改) table_name改成对应表名称 SELECT A.SCHEMANAME, A.TABLENAME, A.INDEXNAME, A...

postgresql 查看数据库,表,索引,表空间以及大小

转载自博客 http://blog.51yip.com/pgsql/1525.html 1,查看数据库 playboy=> \l //\加上字...

postgresql查看表的和索引的情况,判断是否膨胀

索引膨胀的几个来源: 1 大量删除发生后,导致索引页面稀疏,降低了索引使用效率。 2 PostgresQL 9.0之前的版本,vacuum full 会同样导致索引页面稀疏。 3 长时间运行的事务,...

PostgreSql的索引用法小结一

PostgreSql数据库的索引分为B-tree, Hash, GiST,SP-GiST and GIN。这边先只讨论b-tree索引。B-tree是最常用的的索引,并且PG在创建索引时如果没有明确的...

PostgreSQL索引创建方法及相关问题

postgre建索引方法: 单字段索引: CREATE INDEX index_name ON table_name (field1); 联合索引: CREATE INDEX index_name ...
  • xh16319
  • xh16319
  • 2013年09月30日 02:02
  • 13276

PostgreSql索引的使用4--表达式索引和部分索引

表达式索引就是利用function或者标量表达式将索引字段包裹起来定义使用。 表达式索引的定义很简单与一般索引一样: Create indexidx_name on table_name(func...

PostgreSql索引的使用3--多字段索引

多字段索引就是索引中的字段不是一个,其创建的方式与单字段索引的语法一致。 如:create index idx_name on tanle_name(column_name1,column_name...

PostgreSQL索引的4种类型

PostgreSQL 提供了好几种索引类型:B-tree, Hash, GiST, GIN 。每种索引类型都比较适合某些特定的查询类型,因为它们用了不同的算法。缺省时,CREATE INDEX 命令将...

postgresql 索引类型

postgresql提供了B-tree,R-tree,GiST和hash索引类型。不同的索引类型适合特定的查询类型。 绝大多数数据库都支持B-tree索引类型,postgresql默认的create...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:postgreSQL查看索引的使用情况
举报原因:
原因补充:

(最多只允许输入30个字)