如何删除大量数据的快速和条件为
的1.sqlserver数据库变化的点式不是布尔(即真实的虚假;假为真)示例:更新表设置位字段=位字段- 1
最近,一个朋友问我。他说,他删除了数百万到千万在SQLServer数据。它非常慢。他帮助他分析它。他作了一些观察。也许他对很多人有用。此外,他已经很久没有写博客了。
如果你的硬盘空间小,又不想设置数据库日志是最小的(因为我希望其他正常的日志仍然希望记录),并要求比较高的速度,并清除所有数据,建议你使用turncate表,因为截断是DDL,不回滚,不写日志的速度更快,那么还有一个自动递增,到1年初,删除产生回滚,如果删除大量数据表将是缓慢的,但将需要大量的回滚段,同时记录日志G级;如果如删除时间<'2006-3-10'how来做条件,无法登录删除答案是没有记录,SQL Server引擎将日志删除在设计操作。到目前为止,没有办法强迫某一句不记入日志。如果删除表时间<'2006-3-10'is实施,有大量的记录,由于涉及的多个记录。(3-4克),如果可行的话,我建议以下方式。
选择要保存到新表的记录。如果使用完全恢复模式
根据选择到记录的数目,日志可能更大。
选择从哪里进入表表时间> = '2006-03-10
然后直接截断表。无日志记录都记录在任何的恢复模式
TRUNCATE TABLE表
最后,表为表
电子商务sp_rename'table2 ','table1