根据Craig Ringer的说法:
虽然在引用侧外键列上(或包括)创建索引通常是一个好主意,但这不是必需的。每个索引添加减慢DML操作略有下降,所以你在每交纳履约成本
INSERT
,UPDATE
或DELETE
。如果很少使用该索引,则可能不值得使用。
您如何确定添加索引的好处是否超过其成本?
您是否在添加索引之前/之后分析了单元测试,并检查整体性能提升?或者,还有更好的方法?
@CraigRinger,这非常有帮助。谢谢!
—
吉利2014年
我几乎完全依赖pgBadger。还有我的直觉。
—
Colin't Hart
pg_stat_user_indexes
帮助您进行指导,显示有关索引使用情况的信息。要估算维护成本,您可以查看表的写入活动,pg_stat_user_tables
但是由于HOT的原因,并非所有更新都必须接触索引,因此您可能会高估一点。