• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 如何在 SQL SERVER 中快速有条件删除海量数据

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

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了如何在,SQL,SERVER,中快速有条件等相关知识,希望本文的分享对您有所帮助

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

最近有个朋友问我,他说他在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'
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • mysql复制中临时表的运用技巧
  • 如何在 SQL SERVER 中快速有条件删除海量数据
  • 如何在SQLSERVER中快速有条件删除海量数据
  • MySQL查看目前运行状况的两种方法

相关文章

  • 2018-12-05MySQL的聚簇索引、非聚簇索引及其查询解析方法
  • 2018-12-05php通过Mysqli和PDO连接mysql数据详解
  • 2018-12-05简单总结 MySQL数学函数
  • 2017-05-11mysql 导入导出数据库以及函数、存储过程的介绍
  • 2018-12-05Redis源码解析3
  • 2018-12-05DDL语句的实例详解
  • 2018-12-05mysql 记录不存在时插入 记录存在则更新的实现方法
  • 2018-12-053步搞定纯真IP数据导入到MySQL的方法详解
  • 2018-12-05Mysql启动中 InnoDB: Error: log file ./ib_logfile0 is of diff
  • 2018-12-05phpMyAdmin 的介绍

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Mysql存储引擎之MyISAM存储引擎的介绍
    • Oracle 11g安装出现em.ear
    • IMP-00008: unrecognized statement in the export file: string
    • server-mysql这种错误: check the manual that ···
    • Mysql中校对集utf8_unicode_ci与utf8_general_ci的区别说明
    • Mysql添加用户以及授权等操作详解
    • Oracle数据库安全策略分析 (三)第1/2页
    • Mysql5.7快速修改root密码方法
    • MySQL的查询优化详解
    • MySql报错Table mysql.plugin doesn’t exist的解决方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有