1 database ruby-on-rails associations
我是rails框架的初学者.我有一个基本问题.
我试图定义一些模型及其关联,参考流行的rails指南.我的协会如下所示.
class Person < ActiveRecord::Base
has_one :head
end
class Head < ActiveRecord::Base
belongs_to :person
end
Run Code Online (Sandbox Code Playgroud)
在这里,我需要在表'head'中添加foreign_key(Persons的主键).
现在,如果我需要获得'人'的'头',rails需要扫描头表并匹配person_id.
我认为直接的方法是在'person'表中添加外键.然后我可以用'ID'直接引用'人'的'头'.
似乎rails约定对性能不友好.我在这里错过了什么吗?
创建迁移以添加包含外键的列时,强烈建议在此列上添加索引.通过这种方式,数据库将有效地从中找到Head person_id(然后通过它进行有效搜索id).
add_index :heads, :person_id
Run Code Online (Sandbox Code Playgroud)
如果它是一对一的关联,你甚至可以添加unique选项(除非你的应用程序接受联合双胞胎:-)):
add_index :heads, :person_id, :unique => true
Run Code Online (Sandbox Code Playgroud)
我建议你看看这篇关于在哪里使用索引的文章:
| 归档时间: |
|
| 查看次数: |
2206 次 |
| 最近记录: |