SQL DELETE – 最大行数
对SQL语句中要删除的行数应该有什么限制?
我们需要删除1到数十万行,并且需要应用某种最佳实践限制,以便在每次清空废纸篓时都不会完全杀死SQL服务器或填满日志. 此问题并非特定于任何类型的数据库. 解决方法这是一个非常广泛的问题,基本上归结为“它取决于”.影响它的因素包括:>您的并发级别是多少? delete语句对受影响的行放置独占锁.取决于数据库引擎,已删除的数据分布等,可能会升级到页面或整个表.您的数据读取器是否可以在删除期间被阻止? 但总的来说,我的每个语句的基线为1000行.我使用过的大多数系统(子“企业”)最终都有每个删除500到5000个记录的甜点.我喜欢做这样的事情: set rowcount 500 select 1 -- Just to force @@rowcount > 0 while @@ROWCOUNT > 0 delete from [table] [where ...] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |