【问题标题】:does 'KEY' in SHOW CREATE TABLE mean a column is indexed?SHOW CREATE TABLE 中的 'KEY' 是否意味着列已编入索引?
【发布时间】:2010-01-29 08:52:55
【问题描述】:

我正在处理一个不是我创建的数据库。我将发出一些长时间运行的查询,这些查询涉及一个大表的三个整数列: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 行是否意味着索引已经存在?

谢谢!

~l

【问题讨论】:

    标签: sql select mysql indexing


    【解决方案1】:

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

    如果您总是同时使用 xy 进行搜索,则对它们使用一个键可能会提高性能。

    【讨论】:

      【解决方案2】:

      已经存在。 使用EXPLAIN 来查看查询会做什么(性能方面)。

      【讨论】:

        猜你喜欢
        • 2018-07-25
        • 2015-06-21
        • 2022-09-23
        • 2014-08-15
        • 2014-02-23
        • 1970-01-01
        • 1970-01-01
        • 2018-07-12
        • 1970-01-01
        相关资源
        最近更新 更多