2011-09-08 115 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