1

みなさん、

問題 : インデックスをクラスター化から非クラスター化に変換する正しい方法を探しています

説明 : sybase db に以下のテーブルがあります。

dbo.UserLog
------------------------
Id | UserId |time | ....
------------------------

これは、UserId を使用してハッシュ パーティション化されます。

現在、2つのインデックスがあります

UserId : non-clustered
time: clustered

このテーブルには約 2,000 万件のレコードがあります。

UserId をクラスター化インデックスとして、時間を非クラスター化インデックスとして作成したいと考えています。

ユーザーがインデックスを変更してクラスター化から非クラスター化に変更するのは正しいですか、それともインデックスを削除して再作成しますか。ハッシュパーティショニングで userId が使用されているという事実は、これに何らかの影響を及ぼしますか?

私には変更がうまくいくように思えますが、私はまだこれを試していません。

4

1 に答える 1

1

両方をドロップしてから、必要な方法で再作成してください。あなたは各インデックスに大きな変更を加えているので、とにかく変更を実行すると、DBエンジンがそれらをドロップして作成しているだけだと確信しています。あなたが心配しているなら、the fact that userId is used in hash partitioning各インデックスを新しく作成するのが最も安全だと思いますが、alterを使用してもSybaseが台無しになることはないと確信しています.

于 2010-04-20T17:31:13.957 に答える