如何在 SQL SERVER 中快速有条件删除海量数据

 更新时间:2006年12月21日 00:00:00   作者:  
最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用。

    如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是DDL操作,不产生rollback,不写日志速度快一些,然后如果有自增的话,恢复到1开始,而delete会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments,同时还要记录下G级别的日志 ;当然如果有条件删除比如where time〈'2006-3-10' 怎么办,能不能不记录日志用delete,回答是不行的,SQL Server 引擎在设计上就会对 Delete 操作进行日志记录。至今没有办法强制制定某一些语句不记录到日志中,如果在执行 Delete Table1 where Time 〈 '2006-3-10' 由于涉及的记录比较多,所以日志记录也相应很大(3-4G),如果可行,我建议用以下方式:

    选出您所需要保留的记录到新的表。如果您使用 Full Recovery Mode
根据SELECT INTO的记录数,日志可能会比较大
Select * into Table2 From Table1 Where Time 〉 = '2006-03-10'

    然后直接Truncate Table1。无论何种恢复模式都不会进行日志记录:Truncate table Table1

    最后对Table2进行改名为Table1:EC sp_rename 'Table2', 'Table1' 

相关文章

  • SQL语句示例

    SQL语句示例

    [红色]SQL语句示例...
    2006-10-10
  • sql中设置联合主键的具体方法

    sql中设置联合主键的具体方法

    联合主键的设置想必有很多的朋友都不会吧,在本文为大家介绍下具体的设置方法,感兴趣的朋友可以了解下
    2013-09-09
  • 常用SQL功能语句

    常用SQL功能语句

    SQLServer常用管理SQL语句
    2009-06-06
  • 一些有用的sql语句整理 推荐收藏

    一些有用的sql语句整理 推荐收藏

    一些有用的sql语句整理,学习sqlserver的朋友可以参考下。一些很常用的命令。建议大家收藏下。
    2011-03-03
  • SQL实现查询某字段的值为空的记录

    SQL实现查询某字段的值为空的记录

    这篇文章主要介绍了SQL实现查询某字段的值为空的记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Spark SQL 中对 Map 类型的操作函数示例详解

    Spark SQL 中对 Map 类型的操作函数示例详解

    这篇文章主要介绍了SparkSQL中对Map类型的操作函数,包括创建、访问、修改、合并、键值操作等功能,通过这些函数,可以方便地进行复杂键值对数据的处理,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • SQL SERVER性能优化综述(很好的总结,不要错过哦)

    SQL SERVER性能优化综述(很好的总结,不要错过哦)

    一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的。所以我希望按照软件生命周期的不同阶段来总结数据库性能优化相关的注意事项。
    2008-09-09
  • MSSQL Server 查询优化方法 整理

    MSSQL Server 查询优化方法 整理

    查询速度慢的原因很多,常见如下几种
    2010-03-03
  • SQL Server 服务由于登录失败而无法启动

    SQL Server 服务由于登录失败而无法启动

    当域的密码被修改过后,相应服务使用的登陆验证信息不会自动更新需要手动来更新,才能解决此问题。如果大家嫌比较麻烦,还是像上面的解决方案那样直接将登陆身份修改为“本地系统帐户”比较简单。
    2010-05-05
  • SQl 跨服务器查询语句

    SQl 跨服务器查询语句

    SQl跨服务器查询的二种实现方法,一般情况如果安全设置好了,根本无法用,不过内部网络还是不错的。
    2009-10-10

最新评论