7

私はどこに主キーがあり、(A, B)どこにあります。代わりにインデックスをオンにすると、オンで検索するクエリの実行が速くなりますか?AINTBINTAA

左端のプレフィックス ルールは理解していますが、キーが長いために、複数列のキー/インデックスが単一列のキー/インデックスよりもパフォーマンスが低下するかどうかに興味があります。

4

2 に答える 2

1

A: int、B: varchar(128)、C: A のテキスト インデックスは、A、B、C のインデックスよりもパフォーマンスが向上します。

ほとんどの場合、同じように実行されます。あなたの場合、4対8バイトがあるため、2番目のインデックスを持つオーバーヘッドは価値がありません。

特にストレージ エンジンが InnoDB (主キーはクラスタリング インデックス) であり、それがカバー クエリではない (インデックスに格納されていないデータをロードするためにテーブルにアクセスする必要がある) 場合は特に、主キーはセカンダリ インデックスよりも優れたパフォーマンスを発揮することに注意してください。 )

実際、InnoDB ではすべてのセカンダリ インデックスにプライマリ キーが含まれているため、デフォルトでは PK よりも大きくなります。

于 2013-08-09T13:47:15.940 に答える