相关疑难解决方法(0)

复合索引是否也适用于第一个字段的查询?

假设我有一个包含字段A和的表B。我在A+上进行常规查询B,所以我在 上创建了一个复合索引(A,B)A复合索引是否也会对查询进行全面优化?

此外,我在 上创建了一个索引A,但 Postgres 仍然只使用复合索引来查询A。如果前面的答案是肯定的,我想这并不重要,但是为什么它默认选择复合索引,如果单个A索引可用?

postgresql performance index database-design index-tuning

104
推荐指数
1
解决办法
4万
查看次数

平衡索引和数据库性能:多少索引太多?

我是公司数据库团队的一员,目前面临查询优化和性能方面的困境。每当我的一些同事遇到查询速度慢时,他们的默认解决方案就是创建索引来加快查询速度。这导致一些表有超过 70 个索引!

就我个人而言,我倾向于以不同的方式处理这个问题。我经常发现自己修改现有索引(例如添加额外的包含列等)以加快查询速度,而不是每次都创建新索引。然而,并非所有团队成员都采用这种方法,导致我们数据库中的索引数量不断增加。

尽管做出了这些努力,我还是注意到,随着索引数量的增加,其他 DML 操作的速度有所减慢。这似乎是一个第二十二条军规:没有索引,查询会很慢,但是有了索引,其他一切都会变慢一点。

我正在寻求有关如何应对这种情况的建议。有多少索引通常被认为“太多”?是否有任何最佳实践或策略来平衡快速查询的需求与整体数据库性能?

任何见解或资源将不胜感激。

谢谢你!

performance index sql-server index-tuning

4
推荐指数
1
解决办法
1130
查看次数