Rails ActiveRecord表索引 - 何时应该使用它们?

时间:2009-10-08 19:15:14

标签: mysql ruby-on-rails activerecord indexing scalability

我一遍又一遍地听说你应该为你将要加入的任何外键添加索引。我还听说你应该有你要查询的字段的索引。是否有人有关于何时何地不添加索引的相当详尽的列表或指南?

必须有一个表的大小,其中索引是低效的。每个表的索引数量必须有限制,或者为什么不为每个列添加索引?

您可以建议的任何资源都非常有用。

提前致谢!

2 个答案:

答案 0 :(得分:2)

为什么不为每个列添加索引

索引会加快查询速度,但会降低插入和更新速度。找到最佳位置将部分取决于您的应用程序是否可能执行更多查询(例如库目录)或更多更新(例如审计应用程序或日志)。

答案 1 :(得分:1)

为您可能加入或排序的任何内容添加索引。在大多数情况下,最好是在更多索引的一边而不是更少,因为大多数数据库涉及的读取次数多于写入次数,尤其是Web应用程序。如果您正在进行金融交易,那就不一样了,但这是一个Rails应用程序。