加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何从sql server上的一个表中删除8,500,000条记录

发布时间:2020-12-12 08:49:41 所属栏目:MsSql教程 来源:网络整理
导读:删除活动 其中unt_uid为null 将是最快的方式,但没有人可以访问数据库/表,直到这个语句完成,所以这是一个不要去. 我定义了一个光标,以便在工作时间内完成此任务,但无论如何,对生产力的影响是很大的. 那么如何删除这些记录就能保证这个数据库的正常使用? 它是3
删除活动
其中unt_uid为null

将是最快的方式,但没有人可以访问数据库/表,直到这个语句完成,所以这是一个不要去.

我定义了一个光标,以便在工作时间内完成此任务,但无论如何,对生产力的影响是很大的.
那么如何删除这些记录就能保证这个数据库的正常使用?

它是32位Win2003上的SQL-2005服务器.第二个问题是:你估计这个工作需要多长时间(6小时或60小时)? (是的,我知道这取决于负载,但假设这是一个小企业的环境)

解决方法

你可以用块来做.例如,每10秒执行一次:
delete from activities where activityid in 
  (select top 1000 activityid from activities where unt_uid is null)

显然定义了行数(我任意选择1000)和间隔(我选择了10秒),这对你的应用来说是最有意义的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读