Ruby on rails 在Rails中,按创建的顺序是否需要索引?
或者Rails是否会自动添加索引或按id排序Ruby on rails 在Rails中,按创建的顺序是否需要索引?,ruby-on-rails,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby On Rails 4,Activerecord,或者Rails是否会自动添加索引或按id排序 Rails 4.Rails处理在主键列上添加索引的操作。 从版本4.2开始,rails已经(注意) 除此之外,Rails将把所有其他字段的索引完全留给您。因此,它不会在您的created\u at字段中创建一个 你需要一个吗?只有当您遇到性能问题时(或者看到您很快就会遇到问题)。在遇到问题之前,您可以处理的不仅仅是几百行 一旦您确实觉得需要一个索引,那么您应该使用Rails迁移来添加它—您不应该自己直接将其添加到数据库中。是的,您需要自己为在创建的添
Rails 4.Rails处理在主键列上添加索引的操作。
从版本4.2开始,rails已经(注意) 除此之外,Rails将把所有其他字段的索引完全留给您。因此,它不会在您的
created\u at
字段中创建一个
你需要一个吗?只有当您遇到性能问题时(或者看到您很快就会遇到问题)。在遇到问题之前,您可以处理的不仅仅是几百行
一旦您确实觉得需要一个索引,那么您应该使用Rails迁移来添加它—您不应该自己直接将其添加到数据库中。是的,您需要自己为在创建的
添加索引
您可以查看您的迁移文件,您将看到默认情况下未定义在处创建的索引
如果只有几百行,没有索引也可以
编辑:
假设您有一个名为Product
的模型,要在上添加索引,只需添加一个新的迁移即可
bundle exec rails d migration AddCreatedAtIndexToProducts
然后打开新创建的迁移并添加索引定义:
class AddCreatedAtIndexToProducts < ActiveRecord::Migration[6.0]
def change
add_index :products, :created_at
end
end
class AddCreatedAtIndexToProducts
是的,您需要自己添加。如果您的表中有许多行,则选择“是”。如果只有几百行,没有索引也可以。您可以查看您的迁移文件,您会发现默认情况下,在创建时没有定义索引。@cristian-好的,谢谢。您可能需要为此创建一个答案。