sql >> データベース >  >> RDS >> Mysql

インデックスの最初に配置する列はどれですか?カーディナリティが高いか低いか?

    MySQL複合インデックスのルックアップは、インデックス内で列が定義されている順序で実行する必要があります。 MySQLで可能な限り少ない比較を実行してレコードを区別できるようにしたいので、他のすべての条件が同じであれば、列がカーディナリティの高いものから低いものの順に並べられた複合インデックスから最も恩恵を受けることができます。

    つまり、レコードを区別するために最終的に最高カーディナリティ列に対して比較を実行する必要があると仮定すると、最終的に不要になる可能性があるのに、なぜ最低カーディナリティ列に対して最初に比較を強制するのでしょうか。



    1. Node.jsとExpressを使用して最初のAPIをコーディングする:データベースを接続する

    2. ORDER BY FIELD、与えられたフィールドの順序がついに来る

    3. mssqlを使用して更新および注文する方法

    4. 非常に大きなテーブルでの(列ストア)圧縮の楽しみ–パート1