Gab*_*iel 3 postgresql index statistics index-statistics
我正在查看表(pg_stat_user_indexes和pg_stat_user_tables)并发现许多未使用的索引。
但在我考虑执行任何操作来删除这些索引之前,我需要了解此数据的分析时间段(idx_scan),是自数据库创建以来的时间段吗?
在pg_stat_database ( stats_reset ) 表中,有一个日期通常是今天或最多 15 天前,但是这个过程是否会干扰我上面提到的表?
%reset() 命令是否清除表(pg_stat_user_indexes和pg_stat_user_tables)?
我的目标是了解收集数据的时间段,以便我可以做出决定。
小智 6
当服务器启动时执行恢复时(例如,立即关闭、服务器崩溃和时间点恢复后),所有统计计数器都会重置
换句话说,统计数据不会在干净关闭和重新启动时重置。
因此,如果您的服务器从未崩溃,并且您从未发出“立即关闭”(使用“pg_ctl stop -m立即”),那么统计信息将显示自创建实例以来(对于“全局”统计信息”)或自数据库被创建以来的累积值。创建(用于数据库特定统计)。
如果您想检测是否有未使用的索引,我会重置统计信息,然后定期拍摄它们的快照(例如每天或每小时,具体取决于您的系统),然后在正常运行一周后比较一段时间内的值手术。
请注意,您不能(不应该)删除从未用于读取的唯一索引(例如主键索引)!