我有一个包含超过 3.8 亿条记录的表。我有一个存储过程:
- 删除一些记录。
- 插入一些东西。
执行整个过程大约需要 30 分钟。此 DELETE
需要 28 分钟。
Delete 是一个简单的语句,大致如下:
Delete a where condition_1 AND condition_2 AND condition_3
谁能帮帮我?
最佳答案
您的餐 table 是如何组织的?你有什么聚集索引和你有什么非聚集索引?这 3 个条件究竟是什么?
DELETE 的行为很像 SELECT,因为它需要找到符合删除条件的行。为此,它将使用与 SELECT 相同的技术,如果您的 condition_1、condition_2 和 condition_3 没有覆盖索引,它们将触发表扫描,该扫描将按数据大小 (380M) 计时.
关于sql-server - 删除sql server表中的数据需要很多时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3883420/