2010-01-29 18 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来查看查询将做什么(表现明智)。

相关问题