因此,当我关注Michael Hartl的Ruby on Rails教程时,我注意到在users表中我们为:email
属性添加了一个唯一索引,以提高find
方法的效率,因此它不会逐行搜索。到目前为止,我们一直在根据具体情况使用find_by_email
和find_by_id
进行搜索。但我们从未为:id
属性设置索引。 :id
是否会自动编入索引,因为默认情况下它是唯一且连续的?或者情况并非如此,我应该为:id
搜索添加索引吗?
答案 0 :(得分:10)
大多数数据库(包含sqlite,这是RoR中的默认数据库)会自动索引主键,默认情况下Rails迁移为:id
。