1

指定:文字列属性 X を持つオブジェクトは DB (MSSQL) に格納する必要があります 重要:文字列属性は、約 0 ~ 30 の異なる文字から構築されます。つまり、これらの文字は、定義された文字プール (30 個の要素を含む) からのものです。

たとえば、プール (安定!) は「A、N、H、J、K、L」です。オブジェクト X1 は「ANHL」、オブジェクト X2 は「JHK」、オブジェクト X2 は「N」...

問題:アプリケーションは、たとえば X. contains ('N') を含むすべてのオブジェクトを選択する必要があります。これは常に 1 文字のみです。

質問:これらのオブジェクトを効率的に保存および/または選択するにはどうすればよいですか? つまり、プレーンな nvarchar フィールドとして保存し、「like '%N%'」を介して選択することはオプションではありません!

4

3 に答える 3

1

セット内の文字ごとに、"BIT SPARSE" 型の列を作成し、各列に対してフィルター処理された非クラスター化インデックスを作成します (もちろん、列に対してフィルターを "NOT NULL" に設定します)。

この種のセットアップでは、クラスター化インデックス キーをできるだけ小さくする必要があります。

于 2013-06-19T16:50:53.080 に答える