【问题标题】:Slow indexing in Aurora PostgreSQL (Serverless v2)Aurora PostgreSQL(无服务器 v2)中的索引编制缓慢
【发布时间】:2023-02-10 22:05:20
【问题描述】:

我正在尝试为具有 1B 行的表构建索引。 24 小时过去了,查询仍在运行: CREATE INDEX idx1_table1b on table1b using HASH(column1)

自从第 1 列通常使用相等运算符 (=) 进行过滤,我选择哈希索引作为索引类型。我使用的数据库实例类是 Serverless V2、ACU min-max:16-128、PostgreSQL 14.6。

不确定我是否遗漏了配置或声明中的任何内容,感谢您的帮助,谢谢!

【问题讨论】:

  • 您可以通过pg_stat_progress_create_index查看索引的创建进度
  • 仅仅因为您主要测试相等性并不意味着您应该使用散列索引。 Btree 索引通常更优越(出于实现原因,而不是理论上的原因)。只有当 column1 中的值很长(数百个字节)时,我才会考虑使用哈希索引。
  • 感谢您的想法,我现在使用 btree。

标签: postgresql indexing amazon-rds amazon-aurora aws-aurora-serverless


【解决方案1】:

发现专栏有很多重复值,这可能是散列停止(或花费很长时间构建散列索引)的原因。

我的问题的解决方案是使用 btree(它可以很好地容纳重复值)并且在几分钟内建立了索引。使用索引列在查询中执行连接的性能是毫秒级的。

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    • 2023-01-11
    • 2021-09-25
    • 2019-01-05
    • 1970-01-01
    • 2019-06-15
    相关资源
    最近更新 更多