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...
  • jiedushi
  • jiedushi
  • 2011年11月11日 08:32
  • 5954

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

把里边的public改成相应模式名(默认为public,可不改) table_name改成对应表名称 SELECT A.SCHEMANAME, A.TABLENAME, A.INDEXNAME, A...
  • u013992330
  • u013992330
  • 2017年06月29日 10:23
  • 1398

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

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

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

转载自博客 http://blog.51yip.com/pgsql/1525.html 1,查看数据库 playboy=> \l //\加上字...
  • u012422541
  • u012422541
  • 2016年03月28日 15:47
  • 4789

PostgreSQL索引的4种类型

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

PostgreSQL中主键索引为什么不能被查询利用到?---索引使用情况一例

有朋友A问: where  username in ('张三','李四');,username会不会走索引呢? 有朋友B、C、D等回答: 走不走索引和很多东西有关系的,走索引也不一定就效率高。 ...
  • fly2nn
  • fly2nn
  • 2017年03月13日 18:56
  • 1507

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

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

(五)2.3 查看索引使用情况

查看索引使用情况 通过show status like 'Handler_%'查看索引的使用情况 执行show status like 'Handler_%'   查询结果如下: Ha...
  • lovesummerforever
  • lovesummerforever
  • 2016年08月29日 16:45
  • 503

postgresql查看表和索引大小函数

  • 2015年08月18日 15:20
  • 1KB
  • 下载

postgresql 定时收集表和索引统计信息

--由于pg中表和索引的信息收集都是基于时间点的,对于以往的信息无法与现在的信息进行对比,故写下此工具进行统计信息收集 --创建数据信息的schema create schema db_stat; ...
  • jumewo
  • jumewo
  • 2016年02月26日 09:33
  • 1096
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:postgreSQL查看索引的使用情况
举报原因:
原因补充:

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