我有很多字段,在几个不同的模型中,我使用Model.find_by_xxx执行搜索
我应该为我使用的每个字段添加数据库索引吗?
答案 0 :(得分:1)
是的,可能。索引的成本是插入/更新/删除语句较慢,因为它们现在也需要更改索引。表上的索引越多,插入/更新/删除操作所需的时间就越长。因此,如果您只是阅读数据,那么索引就是一个明确的胜利。
拥有多个索引的另一个缺点是磁盘空间。你基本上是为索引制作该列的另一个副本。但通常这是次要考虑因素。
答案 1 :(得分:0)
不一定......这取决于。您希望每张表中有多少行?他们多久更新一次?您搜索的每个表中有多少个字段?数据库是否可能主要用于报告,或主要用作运营数据输入系统的一部分?