假设您有两个模型,User和City,由第三个模型CityPermission加入:
class CityPermission < ActiveRecord::Base belongs_to :city belongs_to :user end class City < ActiveRecord::Base has_many :city_permissions has_many :users, :through => :city_permissions end class User < ActiveRecord::Base has_many :city_permissions has_many :cities, :through => :city_permissions end
目前,我使用以下迁移代码段创建连接表和表的索引:
create_table :city_permissions do |t| t.integer :user_id, :city_id t.other_fields ... end add_index(:city_permissions, :user_id) add_index(:city_permissions, :city_id)
这些是创建的最佳指标吗?这些索引是否允许通过连接表来回快速访问,以及在表格内快速查找,还是有其他更好的方法?以不同的方式重申这一点,将这些指标,因为city
和user
有级市和用户的实例变量,允许city.users
,city.city_permissions
,user.cities
,和user.city_permissions
所有同样表现出色?