【问题标题】:List all indexes that not in use anymore in database, PostgreSQL列出数据库中不再使用的所有索引,PostgreSQL
【发布时间】:2016-10-24 16:37:19
【问题描述】:

我正在尝试在特定数据库上使用 9.5 版的 PostgreSQL 查找不再使用的索引。

我该怎么做?

【问题讨论】:

    标签: postgresql database-administration


    【解决方案1】:

    以下查询将为您提供相对未使用的索引(idx_scan

    SELECT schemaname || '.' || relname AS table,
           indexrelname AS index,
           pg_size_pretty(pg_relation_size(i.indexrelid)) AS index_size,
           idx_scan as index_scans
    FROM pg_stat_user_indexes ui
      JOIN pg_index i ON ui.indexrelid = i.indexrelid
    WHERE NOT indisunique 
      AND idx_scan < 50 
      AND pg_relation_size(relid) > 5 * 8192
    ORDER BY pg_relation_size(i.indexrelid) / nullif(idx_scan, 0) DESC NULLS FIRST,
          pg_relation_size(i.indexrelid) DESC;
    

    【讨论】:

      猜你喜欢
      • 2011-10-10
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 2016-11-12
      相关资源
      最近更新 更多