【问题标题】:mysql and indexes with more than one columnmysql 和多于一列的索引
【发布时间】:2012-11-10 10:43:48
【问题描述】:

如何使用多列索引

原始索引在block_id 上有一个索引,但是当它已经在具有两列的唯一索引中时是否需要?

多列索引

(a,b,c)

  • 您可以搜索 a、b 和 c
  • 你可以搜索a和b
  • 你可以搜索一个
  • 您可以搜索 a 和 c

这也适用于唯一索引吗?

表格

id
block_id
account_id
name

索引来源

PRIMARY KEY (`id`)
UNIQUE KEY `block_id` (`block_id`,`account_id`)
KEY `block_id` (`block_id`),
KEY `account_id` (`account_id`),

索引替代

PRIMARY KEY (`id`)
UNIQUE KEY `block_id` (`block_id`,`account_id`)
KEY `account_id` (`account_id`),

【问题讨论】:

    标签: mysql database-indexes


    【解决方案1】:

    据我所知,您在上面描述的规则始终适用于索引是否唯一。您可以对您想到的查询运行解释,并观察在各种情况下何时使用索引以及何时不使用索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-24
      • 1970-01-01
      • 2011-03-04
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多