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

Mysql-複数の列インデックスのシーケンス

    ステータスが最初です。次に、カテゴリ別にクエリを実行するだけでよい場合に役立ちます。

    SELECT * from table where status in (1,0) and category = 'whatever'
    

    それでもインデックスのサポートを受けられます。 もちろん、クエリがすべて両方の列を使用している場合は、どちらの方法でも同じです。 ただし、この場合、ステータスのみを使用するとはるかに優れており、カテゴリのみを使用したとしてもわずかに悪化します。

    多数の挿入も検討している場合は、インデックスの数を最小限に抑えたいので、複数のインデックスを使用するのではなく、これが最善の策です。



    1. Oracleで2つのテーブルを列ごとに比較する方法

    2. Oracle 12cでは、外部結合を特徴とするクエリの動作が異なります。

    3. Postgres/SQLAlchemyでのapplication_nameの設定

    4. SQL Server(T-SQL)で日付から月の名前を取得する3つの方法