【问题标题】:Reindexing in PostgreSql在 PostgreSql 中重新索引
【发布时间】:2020-09-14 11:37:48
【问题描述】:

如何确定 Postgres 数据库中需要重新索引的所有索引?并且我需要安排一个作业来重新索引 Postgres 中的索引,我应该多久运行一次?

索引的统计数据收集可以处理自动清理部分的自动分析,还是我们应该单独运行它?

【问题讨论】:

    标签: postgresql indexing postgresql-9.4 amazon-aurora reindex


    【解决方案1】:

    您通常不需要重新索引 PostgreSQL 索引。随着时间的推移,它们会变得有些支离破碎,但这是正常的。

    也就是说,您可以使用 pgstattuple 扩展中的 pgstatindex 函数来检查索引:

    CREATE EXTENSION pgstattuple;
    
    SELECT avg_leaf_density FROM pgstatindex('items_1_pkey');
    
     avg_leaf_density 
    ------------------
                88.92
    (1 row)
    

    该索引非常密集,密度与fillfactor(90)大致相同。如果值低于 20 左右,请考虑重新索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-04
      • 2021-01-21
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 2019-07-16
      相关资源
      最近更新 更多