删除活动
其中 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 秒)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)