2011-01-30 97 views
0

我建立一個MySQL表:ID(自動INT),CC炭(9),TT INT(11),毫米炭(3)MySQL的innodb的索引混淆

現在我已設置的ID是主要指標。

每個查詢都將選擇或更新與WHERE ID =「numberhere」 LIMIT 1(所以沒有需要它只是1排在TIMW)

現在,從使用的是InnoDB得到正確的性能benifit,我只是將ID作爲主鍵並且只將索引留在表中?還是應該將所有內容都設置爲索引?我不確定......

編輯:表中沒有連接,它是從字面上SELECT * FROM表WHERE ID =「2341 ...」每次 或相同,但與更新...

+0

強制性閱讀:http: //dev.mysql.com/doc/refman/5.5/en/optimization-indexes.html – Mchl 2011-01-30 12:57:03

回答

0

你可能將您所有的join設置爲索引。甚至可能是你在where中使用的所有東西。太多的索引會降低插入/更新的速度,因爲您必須創建它們,因此無法使用。

0

由於Nanne迴應,如果您總是處理特定鍵,將該列作爲自己的索引是非常好的,並且始終將該表作爲SQL-Select語句中的第一個表以及WHERE中的第一個條件子句,如果您採樣...如果您曾經在加入另一個表格,請確保OTHER表格在您要匹配的列上有一個索引,以便優化THAT連接部分...