我正在开发一个带有相当大的Oracle数据库的项目(尽管我的问题同样适用于其他数据库).我们有一个Web界面,允许用户搜索几乎任何可能的字段组合.
为了使这些搜索更快,我们将索引添加到我们认为用户通常会搜索的字段和字段组合.但是,由于我们并不真正了解客户将如何使用此软件,因此很难确定要创建哪些索引.
空间不是一个问题; 我们有一个4 TB的RAID驱动器,我们只使用了一小部分.但是,我担心索引太多会导致性能损失.因为每次添加,删除或修改行时都需要更新这些索引,我想在单个表上有几十个索引是个坏主意.
那么有多少指数被认为太多了?10?25?50?或者我应该只是覆盖真正的,非常常见和明显的案例而忽略其他一切?
我正在编写一个带有MySQL表的应用程序,该表可以索引3列.我担心在表达到大量记录后,保存新记录的时间会很慢.请告知如何最好地接近列的索引.
UPDATE
我正在索引一个point_value,user_id和一个event_id,这些都是面向客户端所需的.对于诸如通过玩家ID和游戏ID对棒球运行进行评分的实例.在该表保存了两个赛季的记录,比如72,000次运行之后,以及在5个赛季之后,可能有25万个记录,那么每天插入大约200条新记录的成本是多少?仅用于说明,但我希望每天插入25到200条记录.