0

複数のフィールドを持つクラスター化インデックスでは機能しないという命令が表示されるアプリケーションがあります。テストに抵抗できませんでした、そしてそれは本当です。2つのフィールドを持つクラスター化インデックスを追加すると、アプリは無限のループでスタックします。

インデックスは、アプリケーションに影響を与えないデータベース内部のものだと思いました。クラスタ化インデックスの存在下では機能しないSQLをどのように記述しますか?

アプリはSQLServer2005を使用しています

4

2 に答える 2

1

複合化したのはクラスター化インデックスまたは主キーでしたか?1つはドメイン関係(主キー)であり、もう1つ(クラスター化インデックス)は実装の詳細ですが、これらはSQLServerでは同義語として扱われることがあります。

一部のORMは、複合主キーではうまく機能しません。

データベースで定期的にスケジュールされたメンテナンスプランが有効になっていますか?DBCC CHECKDBを手動で実行しましたか?

于 2009-10-04T10:14:20.257 に答える
1

これはおそらく、アプリケーションがテーブルのインデックスに関するメタデータを使用してコードを動的に作成していることを示しています。たとえば、私が持っている監査トリガー生成スクリプトには、単一列の主キーが必要です。もちろん、これはクラスター化インデックスとは異なります。

これはどのアプリでも文書化された制限であるため、これ以上調査する価値はおそらくありませんが、これをリバース エンジニアリングする必要がある場合は、プロファイラーを使用してこのループで何が起こっているかを確認できます。

于 2009-10-04T13:06:18.840 に答える