2

如何使用多于一列的索引

原始索引有一个索引 on 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`),
4

1 回答 1

1

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

于 2012-11-10T10:59:00.180 回答