如何在SQL Server中快速有条件删除海量数据
时 间:2006-09-12 00:00:00
作 者:UMVsoft整理 ID:8 城市:上海 QQ:2851379730
摘 要:如何在SQL Server中快速有条件删除海量数据
正 文:
如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是DDL操作,不产生rollback,不写日志速度快一些,然后如果有自增的话,恢复到1开始,而delete会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments,同时还要记录下G级别的日志 ;当然如果有条件删除比如where time<'2006-3-10' 怎么办,能不能不记录日志用delete,回答是不行的,SQLServer引擎在设计上就会对Delete操作进行日志记录。至今没有办法强制制定某一些语句不记录到日志中,如果在执行DeleteTable1whereTime<'2006-3-10'由于涉及的记录比较多,所以日志记录也相应很大(3-4G),如果可行,我建议用以下方式:
选出您所需要保留的记录到新的表。如果您使用FullRecoveryMode
根据SELECTINTO的记录数,日志可能会比较大
Select*intoTable2FromTable1WhereTime>='2006-03-10'
然后直接TruncateTable1。无论何种恢复模式都不会进行日志记录
TruncatetableTable1
最后对Table2进行改名为Table1
ECsp_rename'Table2','Table1'
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access制作的RGB转CM...(09.22)
- Access制作的RGB调色板...(09.15)
- Access制作的快速车牌输入...(09.13)
- 【Access高效办公】统计当...(06.30)
- 【Access高效办公】用复选...(06.24)
- 根据变化的日期来自动编号的示例...(06.20)
- 【Access高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)

学习心得
最新文章
- Access快速开发平台--多行文...(09.28)
- 关于从Excel导入长文本数据到A...(09.24)
- Access制作的RGB转CMYK...(09.22)
- 关于重装系统后Access开发的软...(09.17)
- Access制作的RGB调色板示例(09.15)
- Access制作的快速车牌输入改进...(09.13)
- Access颜色编号管理数据库--...(09.10)
- 分享一个Access报表最后一页始...(09.03)
- 64位操作系统引用DAO出现加载D...(08.26)
- Access设置试用期截止日期默认...(08.15)