2010-01-29 94 views
2

我正在處理一個我沒有創建的分貝。我將發佈一些涉及大型表的三個整數列的長時間運行的查詢:id(主鍵),x和y。 (我不會寫/更新記錄,只有在發出查詢。)在SHOW CREATE TABLE中的'KEY'意味着一列是否被索引?

SHOW CREATE TABLE表明:

`primary_key` int(11) NOT NULL auto_increment, 
`x` int(11) default NULL, 
`y` int(11) default NULL, 
UNIQUE KEY `id` (`id`), 
KEY `my_x` (`x`), 
KEY `mh_y` (`y`) 

對於我而言,我應該創建ID,x和y的指數?或者,唯一的KEY和KEY行意味着指數已經存在?

謝謝!

〜l

回答

2

您應該在primary_key上創建一個主鍵 - 因爲它是UNIQUE不等於PRIMARY。其他兩列已經編入索引 - KEY與此例中的INDEX相同。

如果您始終同時使用xy進行搜索,那麼在它們上都有一個密鑰可能會提高性能。

1

已經存在。 使用EXPLAIN來查看查詢將做什麼(表現明智)。

相關問題