我正在一个具有相当大的Oracle数据库的项目中工作(尽管我的问题同样适用于其他数据库)。我们有一个Web界面,允许用户搜索几乎任何可能的字段组合。
为了使这些搜索快速进行,我们将索引添加到我们认为用户通常会在其上进行搜索的字段和字段组合。但是,由于我们并不真正了解客户将如何使用该软件,因此很难确定要创建哪些索引。
空间不是问题;我们有一个4 TB的RAID驱动器,我们只使用其中的一小部分。但是,我担心索引过多会导致性能下降。因为每次添加,删除或修改行时都需要更新这些索引,所以我认为在一个表上包含数十个索引是一个坏主意。
那么多少索引被认为太多呢?10个?25吗 50吗 还是我应该只介绍真正,非常普遍和显而易见的案例,而忽略其他所有内容?