私はどこに主キーがあり、(A, B)
どこにあります。代わりにインデックスをオンにすると、オンで検索するクエリの実行が速くなりますか?A
INT
B
INT
A
A
左端のプレフィックス ルールは理解していますが、キーが長いために、複数列のキー/インデックスが単一列のキー/インデックスよりもパフォーマンスが低下するかどうかに興味があります。
私はどこに主キーがあり、(A, B)
どこにあります。代わりにインデックスをオンにすると、オンで検索するクエリの実行が速くなりますか?A
INT
B
INT
A
A
左端のプレフィックス ルールは理解していますが、キーが長いために、複数列のキー/インデックスが単一列のキー/インデックスよりもパフォーマンスが低下するかどうかに興味があります。
A: int、B: varchar(128)、C: A のテキスト インデックスは、A、B、C のインデックスよりもパフォーマンスが向上します。
ほとんどの場合、同じように実行されます。あなたの場合、4対8バイトがあるため、2番目のインデックスを持つオーバーヘッドは価値がありません。
特にストレージ エンジンが InnoDB (主キーはクラスタリング インデックス) であり、それがカバー クエリではない (インデックスに格納されていないデータをロードするためにテーブルにアクセスする必要がある) 場合は特に、主キーはセカンダリ インデックスよりも優れたパフォーマンスを発揮することに注意してください。 )
実際、InnoDB ではすべてのセカンダリ インデックスにプライマリ キーが含まれているため、デフォルトでは PK よりも大きくなります。