2

複数の列でインデックスを使用する方法

元のインデックスには にインデックスがありますがblock_id、2 列の一意のインデックスに既にある場合は必要ですか?

複数の列を持つインデックス

(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

上記のルールは、私の知る限り、インデックスが一意であるかどうかにかかわらず常に保持されています。考えているクエリに対して Explain を実行し、さまざまな状況でインデックスが使用されている場合と使用されていない場合を観察することができます。

于 2012-11-10T10:59:00.180 に答える