Ice*_*Ice 9 sql sql-server sql-server-2005
删除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)
Run Code Online (Sandbox Code Playgroud)
显然定义行计数(我任意选择1000)和间隔(我选择10秒),这对您的应用程序最有意义.
归档时间: |
|
查看次数: |
4136 次 |
最近记录: |