ruby-on-rails - 我应该在 Rails 应用程序中索引哪些字段?

标签 ruby-on-rails

我一直在阅读有关 Rails 中的 add_index 方法的内容。

在教程中,我找到了这个示例:

class AddTitleToMicroposts < ActiveRecord::Migration
  def change
    create_table :microposts do |t|
      t.string :title
      t.string :content
      t.integer :user_id

      t.timestamps
    end
    add_index :microposts, [:user_id, :created_at]
  end
end 

我不知道为什么 [:user_id, :created_at] 被索引,而不是其他的。

我如何知道要在 Rails 应用程序中索引哪些字段?

最佳答案

这取决于您的应用程序,您主要索引外键以提高数据库性能。例如,下次您要搜索属于某个用户的所有微帖子时,它将使用 user_id 索引,而每当您搜索特定时间之间创建的所有帖子时,我将使用created_at 索引。索引基本上可以加快查询速度,您可以根据要经常执行的查询建立索引。

关于ruby-on-rails - 我应该在 Rails 应用程序中索引哪些字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9029741/

相关文章:

ruby-on-rails - Rails 5、Rspec-rails、Capybara、Selenium-webdriver - 无法找到 Mozilla geckodriver

mysql - 在 rails 中显示关系数据库表中的数据的问题

mysql - 针对数百万阵列 IDS 优化 Rails IN 查询

jquery - Rails 4中如何自动填充选择框?

ruby-on-rails - 如何将 Rails Controller 设置为默认仅接受 HTML 请求?

ruby-on-rails - 如何在 Rails 3.1 可安装引擎中测试路线

ruby-on-rails - RSpec 测试销毁 Controller 操作会引发错误:ActionView::MissingTemplate

ruby-on-rails - Rails 应用程序中的 ENV 是什么?

ruby-on-rails - Rails 4 在单独的 Controller 中搜索多个模型

ruby-on-rails - 自动初始化 Rails 控制台