【问题标题】:Rails ActiveRecord Table Indexes - When should they be used?Rails ActiveRecord 表索引 - 什么时候应该使用它们?
【发布时间】:2010-12-05 02:55:40
【问题描述】:

我一遍又一遍地听到你应该为任何你将要进行连接的外键添加索引。我还听说您应该为要查询的字段设置索引。有没有人有一个相当详尽的列表或一套关于何时以及何时不添加索引的指南?

必须有一个表的大小,索引是低效的。每张表的索引数量一定要有限制,不然为什么不给每一列加一个索引呢?

您可以建议的任何资源都会非常有帮助。

提前致谢!

【问题讨论】:

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


    【解决方案1】:

    为您可能加入或排序的任何内容建立索引。在大多数情况下,更多的索引比更少的索引要好,因为大多数数据库涉及的读取多于写入,尤其是 Web 应用程序。如果您进行金融交易,情况会有所不同,但这是一个 Rails 应用程序。

    【讨论】:

      【解决方案2】:

      为什么不给每一列添加索引

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

      【讨论】:

      • 这是有道理的。对于每个值都可能不同的日期时间列呢?
      • 同样,这取决于您是否可能基于该列进行搜索,以及您是查询更多还是插入更多。有些系统每毫秒添加行,但每周只查询几次。它们不应该被大量索引。
      猜你喜欢
      • 1970-01-01
      • 2011-01-16
      • 2021-09-07
      • 2011-03-23
      • 2011-03-19
      • 2010-12-21
      • 2010-09-08
      相关资源
      最近更新 更多