2011-09-08 57 views
0

我正在使用rails 3,而我的生产数据库在Heroku上是postgres。如何为此查询创建适当的索引?我不知道如何为正在发生的内部连接创建一个。连接表的Rails迁移索引

SELECT "plans".* FROM "plans" 
INNER JOIN "schedules" 
ON "plans".schedule_id = "schedules".id 
WHERE (("schedules".user_id = 4)) 

回答

0

你应该能够在schedules.user_id添加索引:

add_index :schedules, :user_id 

...和时间表另一个指标计划:

add_index :plans, :schedule_id 

此外,如果你”重新尝试加载所有时间表w /关联计划,您应该使用左连接:

select plans.* 
    from schedules 
    left join plans on plans.schedule_id = schedule.id 
    where schedules.user_id = 4 

我认为左连接对于你想要的是正确的。

+0

有趣的是,我希望有办法做一个多列索引或什么的。谢谢你。内部连接是我想要的,因为计划必须属于计划。 – Brand