我为级联删除设置了外键,运行删除命令大约需要 30 分钟。这是我要删除的行数的简化视图:
DELETE from Directories WHERE Type = 1
结构:
Directory
表:(从WHERE
子句返回 1.2K 行)
+---+File
带有DirectoryID
外键的表(50K 行)
+-------------+Tag
带有FileID
外键的表(28K 行)
这需要 28 分钟才能运行。
我应该避免使用多层级联删除,还是可以做一些简单的事情来提高性能?如果没有外键,我可以在不到一秒的时间内删除 50K+ 行。
我是 SQL 和 SQL Server Compact Edition 3.5 的新手。所有主键都被索引。我在没有帮助的外键上添加了索引。任何帮助,将不胜感激。