我有一張桌子 - 好的三個桌子的藝術家,場地和活動..約150K的事件。我期望理解mysql更清楚地創建索引,因爲它與我的具體問題有關。這個問題基本上是需要很長時間的PHP軟件加載一個頁面,拉這個數據....方式太長了。而我絕對沒有時間清理代碼......只爲可能上優化MySQL,內存緩存?,增加更多的RAM等。所有數據的方式文本...MySQL創建索引...性能問題
的任何和所有的心思都歡迎!
謝謝〜
我有一張桌子 - 好的三個桌子的藝術家,場地和活動..約150K的事件。我期望理解mysql更清楚地創建索引,因爲它與我的具體問題有關。這個問題基本上是需要很長時間的PHP軟件加載一個頁面,拉這個數據....方式太長了。而我絕對沒有時間清理代碼......只爲可能上優化MySQL,內存緩存?,增加更多的RAM等。所有數據的方式文本...MySQL創建索引...性能問題
的任何和所有的心思都歡迎!
謝謝〜
檢查MySQL slow query log以確定哪些查詢造成了延遲,然後在其上運行EXPLAIN以查看正在使用哪些索引(如果有)。如果您看到索引未被使用,請考慮將索引添加到相關列。這些列將用於WHERE和JOIN子句中的那些列。例如,如果您要加入venues
至events
,venue_id
,您可能需要索引events
。 venue_id
以提高JOIN性能。
例如:
CREATE INDEX event_venue_id ON events (venue_id);
基本上你想創建上,將最常用於表中的搜索記錄的字段的索引。 CREATE INDEX documentation
爲了更清楚地理解您的問題,您需要確定您認爲執行得太慢的主要查詢並對其執行EXPLAIN查詢。該輸出將幫助您瞭解應對哪些列進行索引以提高應用程序的性能。
你知道什麼是查詢時間過長完成? – 2012-01-02 06:07:00
你可以顯示涉及的表的CREATE TABLE語法嗎? – konsolenfreddy 2012-01-02 06:19:59
你的具體問題是什麼?什麼花了很長時間?你的問題如何與'CREATE INDEX'相關? – deceze 2012-01-02 06:21:27