Top*_*opo 3 postgresql performance index
我读过,当数据库上有很多索引时,它会严重损害性能,但在 PostgreSQL 文档中我找不到任何关于它的信息。
我有一个非常大的表格,大约有 100 列和 10 亿行,我经常需要在许多不同的领域进行大量搜索。
如果我添加很多索引(可能是 10 个唯一列索引和 5 到 7 个三列索引),PostgreSQL 表的性能是否会下降?
编辑:随着性能下降,我的意思是SELECT性能;该数据库将每月仅一次,所以更新UPDATE和INSERT速度不是问题。
不会,查询性能不会受到影响,或者说影响不大。在 DML 语句(和TRUNCATE)上更新索引,而它们在执行查询时可能会或可能不会被使用。
是否使用它们的决定由规划者做出。由于存在非常多的索引,我可以想象规划器会花费更多时间来选择可用的索引,但我希望差异很小。(通常,规划比检索行更快。)
请注意,通常几个索引会加速许多不同的查询。如果您对许多列进行过滤,情况可能并非如此。
另请注意,在很多情况下(并且在不知道您的表定义的情况下无法确定您的情况是否属于“大多数”),拥有如此多的列反映了架构设计不太理想。
| 归档时间: |
|
| 查看次数: |
1223 次 |
| 最近记录: |