1.SQLSERVER数据库改bit类型为 not Boolean(即,true改成false;false改成true)
例:update 表 set bit字段=bit字段-1
最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用,再者也好长没写过BLOG了,一起探讨一下
如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用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'
如何在SQLSERVER中快速有条件删除海量数据
-
49052
网站
- 0
小程序
-
97405
文章
-
108
会员
热门网站
- 21CN企业应用21cn.net www.21cn.net
- UC浏览器官方网站uc.cn www.uc.cn
- 腐漫画网fumanhua.com www.fumanhua.com
- Sma.so神马网址导航sma.so www.sma.so
- 天诺时空zolsky.com www.zolsky.com
- 新彩票走势网cp121.com www.cp121.com
- 神战奇迹官方网站mu69.com www.mu69.com
- 汉典zdic.net www.zdic.net
- 泽艺影城zeyi.cc www.zeyi.cc
- 阿里指数index.1688.com www.index.1688.com
热门文章
- 怎么看用户是否使用了VPN?判断用户是否使用VPN的方法 03-07
- 怎样打出拼音声调多种方法轻松打出拼音的声调 03-07
- win10开机蓝屏停止代码SYSTEM_SERVICE_EXCEPTION怎么办 12-21
- 为什么电子邮件发送失败?电子邮件发送失败的原因及解决方法 03-07
- Win10KB5006670无法卸载怎么办?KB5006670卸载不掉的解决方法 12-21
- win10蓝屏笑脸提示重启怎么办蓝屏哭脸和笑脸提示重启的解决方法过程 12-21
- 图文搭配技巧:给照片配上文字的十个方法 03-14
- win10哪个版别最好专业版/企业版/教育版的差异介绍 12-21
- win10提示过错代码0x800700E1怎么办?0x800700E1过错的解决办法 12-21
- Win10设备管理器网卡设备感叹号错误代码43解决方法 12-21