2

カスケード削除用に外部キーを設定しましたが、削除コマンドの実行に約 30 分かかります。これは、行数で削除している簡略図です。

DELETE from Directories WHERE Type = 1

構造:

Directoryテーブル: (句から返される 1.2K 行WHERE)

+---+外部キーFileを持つテーブル(50K 行)DirectoryID

+-------------+外部キーTagを持つテーブル(28K 行)FileID

この実行には 28 分かかります。

多くの層でカスケード削除を使用しないようにする必要がありますか、またはパフォーマンスを向上させるためにできる簡単なことはありますか? 外部キーがなければ、50,000 行以上を 1 秒以内に削除できます。

私は SQL と SQL Server Compact Edition 3.5 の両方を初めて使用します。主キーはすべて索引付けされています。役に立たなかった外部キーにインデックスを追加しました。どんな助けでも大歓迎です。

4

1 に答える 1

1

このディスカッションによると、外部キーに複合インデックスがある場合は、外部キー フィールドのみを含む単純なインデックスを検討することをお勧めします。

于 2012-11-12T00:10:25.977 に答える