2009-10-08 34 views
3

我一遍又一遍地聽到,你應該添加索引到任何你將要加入的外鍵上。我也聽說你應該有索引的領域,你會做查詢。有沒有人在什麼時候和何時不添加索引的時候有一個相當詳盡的清單或指導方針?Rails ActiveRecord表索引 - 何時應該使用它們?

必須有一個表的大小,它是低效的索引。每個表的索引數量必須有限制,或者爲什麼不向每個列添加索引?

任何資源,你可以建議將是非常有益的。

在此先感謝!

回答

2

爲什麼不添加索引,以每列

索引加快查詢速度,但可以插入和更新減慢。尋找最佳點將部分取決於您的應用程序是否可能執行更多查詢(例如庫目錄)或更多更新(例如審計應用程序或日誌)。

+0

這很有道理。對於datetime列,每個值可能有所不同的情況如何? – chrishomer 2009-10-08 19:58:05

+1

同樣,這取決於您是否可能正在根據該列進行搜索,以及您是要查詢更多還是插入更多。有些系統每毫秒添加一行,但每週只能查詢幾次。他們不應該被嚴重索引。 – 2009-10-09 13:30:23

1

爲您可能加入或排序的任何內容添加索引。在大多數情況下,最好是在更多的索引上犯錯,這是因爲大多數數據庫涉及的讀取次數多於寫入次數,尤其是Web應用程序。如果您正在進行金融交易,它會有所不同,但這是一個Rails應用程序。

相關問題