我正在努力理解这段代码……它来自 Rails 教程书,是制作类似 twitter 的应用程序的过程的一部分。
class CreateRelationships < ActiveRecord::Migration
def change
create_table :relationships do |t|
t.integer :follower_id
t.integer :followed_id
t.timestamps
end
add_index :relationships, :follower_id
add_index :relationships, :followed_id
add_index :relationships, [:follower_id, :followed_id], unique: true
end
end
- 由于只有 2 列(follower_id 和 follow_id),为什么它们需要索引?
- 索引是否以某种方式对它们进行排序?向具有 2 列的表添加索引对我来说似乎有点奇怪。
- 索引对行有什么作用?
- 索引是可选的吗?如果是这样,为什么/为什么不使用它?在上面的代码中使用它是个好主意吗?
如果可以,请回答所有问题。我只是想弄清楚这个概念,在阅读了它之后,我有这些问题。