如何判断哪些索引没有被使用

Iva*_*Paz 7 postgresql index index-statistics postgresql-9.3

PostgreSQL 9.3 Debian 7

我正在尝试优化的旧数据库中有很多巨大的索引。考虑丢弃所有无用的,但我怎么知道它们被使用的频率以及它们是否根本不使用。

是否有任何使用统计数据或一些技巧查询来做到这一点?

a_h*_*ame 7

您可以通过pg_stat_user_indexes和监控索引使用情况pg_statio_user_indexes

有关统计收集器的更多详细信息,请参见手册:http :
//www.postgresql.org/docs/current/static/monitoring-stats.html

但是,您应该小心删除未使用的唯一索引。它们可能不用于读取,但它们很可能对数据的完整性至关重要。


Jos*_*idt 7

请参阅这篇文章,它链接到一个大查询,该查询总结了所有可能没有影响其权重的索引。