2012-01-02 78 views
-7

我有一張桌子 - 好的三個桌子的藝術家,場地和活動..約150K的事件。我期望理解mysql更清楚地創建索引,因爲它與我的具體問題有關。這個問題基本上是需要很長時間的PHP軟件加載一個頁面,拉這個數據....方式太長了。而我絕對沒有時間清理代碼......只爲可能上優化MySQL,內存緩存?,增加更多的RAM等。所有數據的方式文本...MySQL創建索引...性能問題

的任何和所有的心思都歡迎!

謝謝〜

+3

你知道什麼是查詢時間過長完成? – 2012-01-02 06:07:00

+1

你可以顯示涉及的表的CREATE TABLE語法嗎? – konsolenfreddy 2012-01-02 06:19:59

+1

你的具體問題是什麼?什麼花了很長時間?你的問題如何與'CREATE INDEX'相關? – deceze 2012-01-02 06:21:27

回答

0

檢查MySQL slow query log以確定哪些查詢造成了延遲,然後在其上運行EXPLAIN以查看正在使用哪些索引(如果有)。如果您看到索引未被使用,請考慮將索引添加到相關列。這些列將用於WHERE和JOIN子句中的那些列。例如,如果您要加入venuesevents,venue_id,您可能需要索引eventsvenue_id以提高JOIN性能。

例如:

CREATE INDEX event_venue_id ON events (venue_id); 
0

基本上你想創建上,將最常用於表中的搜索記錄的字段的索引。 CREATE INDEX documentation

爲了更清楚地理解您的問題,您需要確定您認爲執行得太慢的主要查詢並對其執行EXPLAIN查詢。該輸出將幫助您瞭解應對哪些列進行索引以提高應用程序的性能。