SHOW CREATE TABLE中的'KEY'是否意味着列被索引?

时间:2010-01-29 08:52:56

标签: sql select mysql indexing

我正在处理我没有创建的数据库。我将发出一些长时间运行的查询,涉及一个大表的三个整数列:id(主键),x和y。 (我不会写/更新记录;只是发出查询。)

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上创建索引吗?或者UNIQUE KEY和KEY行是否意味着索引已经存在?

谢谢!

〜1

2 个答案:

答案 0 :(得分:2)

您应该在primary_key上创建主键 - 因为UNIQUEPRIMARY不同。其他两列已经编入索引 - 在这种情况下,KEYINDEX相同。

如果您始终同时使用xy进行搜索,那么在这两者上同时使用一个密钥可能会提高性能。

答案 1 :(得分:1)

已经存在。 使用EXPLAIN查看查询将执行的操作(性能)。