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

1 つの binary(1) フィールドまたは 8 ビット フィールドをクエリする方が高速ですか?

    単一ビット フィールドのインデックスは基本的に役に立ちません。ビットは 0 または 1 のひどい選択性を持ち、オプティマイザによって無視される可能性があります。 8 ビット フィールドの 8 つのインデックスは、オプティマイザによって無視される 8 つのインデックスになります。

    バイト列のインデックスは、わずかに選択性が高く、256 個の個別の値があります。しかし、'is bit 3 on' のように個々のビット パターンを探している場合、これを求める個々の値や範囲として表現する方法はありません。

    結論としては、何を試しても、いずれにしてもテーブル スキャンに終わるということです。 。

    解決策ではなく、何が問題なのかをより適切に説明してください。おそらく、もっと効率的な方法を考えることができます。



    1. SQLで月末日を取得する

    2. エンティティフレームワークを使用してストアドプロシージャを実行する

    3. 単純なAjaxJqueryスクリプト-テーブルの各行の情報を取得するにはどうすればよいですか?

    4. モデリングおよび正規化するときにnull値をどうするか?