良い日、複数のビット列にインデックスを作成するためのベストプラクティスは何ですか?
SQL Server 2005では、いくつかのブール型(ビット)列を含む多数の列があります。たとえば、 テーブル 'Person'には列IDと列HasItem1、HasItem2、HasItem3、HasItem4があります。この表はちょっと大きいので、より速い検索結果を得るために索引を作成したいと考えています。
ビット列にインデックスを作成するのは良い考えではないことがわかっています。そのため、すべてのビット列でインデックスを使用することを考えました。しかし、問題は、これらのビット列のすべてがクエリ内にあるかどうかではないことです。索引付けされた列の順序は索引で重要であり、どの索引付け列が問合せで使用されるかわからないので、これをどのように処理する必要がありますか?
ところで、既に削除できないインデックスがクラスタ化されています。
ビットフィールドでチェックサムを実行することには、インデックス付けに同じ制限があります。 4つのビットフィールドをチェックサムすることによって生成される16のユニークな値しか持たないので、一意性は低くなります。 – dnewcome
確かに、あなたは1つのフィールドだけを検索していますよね? – Sam