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

このMySQLテーブルを最もパフォーマンスの高い方法でクエリする方法は?

    全表スキャンを実行する必要があるため、これがおそらく最善の解決策です:

    select (case when id in (< your list >) then 'in' else 'out' end) as inlist,
           my_boolean_field, count(*)
    from mytable t
    group by (case when id in (< your list >) then 'in' else out' end),
             my_boolean_field;
    

    リストがインデックス付きのテーブルにある場合は、left joinを使用できます その上に。ただし、MySQLはinの検索を最適化します 定数値を使用します(バイナリ検索を使用します)。したがって、これが最速の方法である可能性があります。




    1. mysqlのようなBigQuery変数の設定

    2. NSISを使用したpostgresqlのインストール

    3. 単一のクエリを使用して複数のテーブル列の値を更新する

    4. Sql Server 2008 R2のストアドプロシージャで文字列を検索する方法は?