2012-06-07 17 views
0

我有表:產品,子類和類別。分類有許多Sub_Categories,Sub_Categories belongs_to分類並且有許多產品和產品屬於sub_categories。我的產品表有一個sub_category_id;我的sub_category表有一個category_id。索引這些表以提高應用加載時間的最有效方法是什麼?數據庫索引與Rails應用程序

+0

「爲索引這些表以增加應用加載時間,最有效的方法是什麼?」我認爲你的意思是「減少」。 – RecursivelyIronic

+0

你知道什麼主要的問題被解僱嗎?更好地檢查應用索引w.r.t之前和之後的查詢響應時間。主要查詢,確保您應用的索引值得。否則,沒有一點只是盲目維護索引,看到這一個 - http://stackoverflow.com/questions/3243475/how-do-you-identify-unused-indexes-in-a-mysql-database –

回答

1

沒有任何更多的信息,更好的訪問時間爲您查詢,您將這些指標:

categories on id 
subcategories on id 
subcategories on category_id 
product on id 
product on sub_category_id 
0

Anil的回答是正確的,但是當他透露時,你的問題太模糊了。我建議打開查詢日誌記錄,並查看哪些查詢在頁面加載中佔用時間。然後接受有問題的查詢,並將EXPLAIN {query}鍵入mysql提示符(您可以使用rails dbconsole或Oracle提供的獨立mysql客戶端訪問該提示符)。查看瓶頸查詢中使用的索引,並詢問更具體的問題。

我猜你的很多查詢是通過他們的類別ID來查詢產品的。將索引category_id列添加到Products中可能會加速避免加入,儘管如此還是有責任讓該列保持最新狀態。

相關問題