0

PrimaryKeyによってテーブルから行を削除すると、約44472の論理読み取りが発生します。これで、テーブルには、ForeignKeysを削除するテーブルのPKにリンクする5〜6個の子テーブルがあります。

削除のパフォーマンスを改善するために何をすべきかわかりません。

助言がありますか ?

編集: 削除用のクエリプランを追加しました

http://img384.imageshack.us/img384/6255/deleteexecutionplan.png

編集: 私は解決策を見つけました(それが理想的な解決策であるかどうかはわかりません)-それは以下の応答にあります。

4

3 に答える 3

0

単一行の削除のクエリプランを確認します。

1つ以上の「子」テーブルでテーブルスキャンが実行されていることがわかると思います。その場合は、その子テーブルのForeignKeyにインデックスを付けることを検討してください。

(それ以外の場合は、クエリプランを質問に追加してください)

于 2009-10-15T08:53:19.983 に答える
0

FKの制約はありますか?

私が考えることができるオプションは

  • 子テーブルのFK列にインデックスを追加します。
  • 制約を削除します(行が孤立するリスクがあります)。
  • 子テーブルの数を減らしてみてください。
于 2009-10-15T08:56:08.067 に答える
0

この答えは問題を解決し、今では魅力のように作品を削除します。知っておくべき欠点があるかどうかはわかりません。

于 2009-10-16T07:24:13.187 に答える