Sybase 12.5 のテーブルで複数のクラスター化されたインデックスをシミュレートするために使用できる手法はありますか? ありがとう
3 に答える
複数のクラスター化されたインデックスをシミュレートできるとは思いません。テーブルにクラスター化インデックスを 1 つ作成すると、クラスター化インデックス列のデータに従ってデータが再配置されるためです。論理的には、別の列に従ってテーブル内のデータを別の順序で並べることはできません。できることは、他の列の非クラスター化インデックスを作成することだけです
他にできることは、2 つ以上の列を組み合わせてクラスター化インデックスを作成することです。
これについて私が考えることができる唯一の近似値は、テーブルのすべての列を含む非クラスター化インデックスを作成することです。このように、非クラスター化インデックスにはすべてのデータが含まれます。
ただし、これを実現するには、テーブル全体が非クラスター化インデックスに課せられた制約内に収まる必要があります。(たとえば、SQL Server の場合、一部の列のデータ型と全体のサイズ (バイト単位) に制限があります。おそらく同様の制限がどの製品にも適用されます)。
最善の方法は、必要な数のテーブルを作成し、これらのテーブルでシミュレートするさまざまなクラスター化インデックスを試すことです。次に、これらのテーブルに対してクエリを実行して、どの列がより優れたクラスター化インデックスを作成するかを確認することが主な目的である場合は、どちらがより優れているかを確認します。ただし、このテーブルに対して実行するすべてのワークロードまたはすべてのクエリを実行して、どの組み合わせが最適かを確認できるようにすることをお勧めします。