我知道我不应该在每一列上都有一个索引,但我不知道为什么。费用是多少?
我有一个包含大约 400 个表的系统,其中许多表都有日期时间或外键(实际上可能没有外键规则,因为它们并不严格),它们缺少索引。这可能会导致相对简单的查询(例如:跨 3 个具有时间条件和表的主键的表的 3 列)的大量查询时间。
运行有问题的查询的时间花了我 2 多分钟,但是一旦我在时间戳和外键上添加索引,它就会下降到 200 毫秒以下,增加了 6000%。我很想在我有指标的每一列上添加索引,但我知道(从其他人告诉我)过多的索引是不好的。但我在任何地方都找不到为什么!
所以我的问题是:什么是“太多”索引,为什么?