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

MySQL: `... ADD INDEX(a);の違い... ADD INDEX(b);`および`... ADD INDEX(a、b); `?

    結合されたINDEXは、キー「a」と「b」の組み合わせです。 「a」または「a」と「b」のいずれかが検索式の一部である場合、アクセスが大幅に向上します。

    SQLステートメントで「b」のみを指定する場合、このインデックスは役に立ちません。

    したがって、2つの異なるインデックスを提供すると便利な場合がありますが、異なる名前を使用する必要があります。

    アクセスパターンに応じて、「a」と「b」のインデックスと、必要に応じて「b」の追加のインデックスをお勧めします。

    追加のインデックスがあると、データを変更するすべての操作でデータベースの速度が低下することに注意してください。一部のインデックスを遠ざける方がよい場合もあります。通常、テーブルのどの列にもインデックスを使用しないことをお勧めします。

    もう1つのヒント:INDEX(a、b)とINDEX(b、a)のどちらを使用するかを決定するには、データの分布を確認してください。インデックスの選択性を高めるために、さまざまな値の広がりが大きい値をインデックスの最初の列に配置します。この値は通常、最初のインデックス要素の品質に基づいています。

    たとえば、NAME列とSEX列のインデックスは、性別が異なる名前が他にもたくさんあるため、INDEX(NAME、SEX)として作成する必要があります。



    1. HerokuのRailsアプリはPostgreSQLデータベースに書き込めず、読み取りのみ

    2. 掲示板-データベースの最適化

    3. MySqlデータをLatin1からUTF8に変換します

    4. OracleのPL/SQL関数はDBMS_AQを認識できません