如何删除大量数据 sql server2005
2013-06-14 15:16
106 查看
你要整表删除吗,那么你用truncate table 可以瞬间删除所有记录,但是这个不记录log,无法回滚。也不能加条件。 如果要加条件,就只好用delete了,或者就是用DTS把你所要的表导出到文本,然后清空表,再把文本导回表中。 你用sp_spaceused 'talbe_name'可以迅速查到你要的记录数,及表所占的空间。 truncate table table_name delete table_name where ......... sp_spaceused 'table_name' 如果这样你可以用bcp先导出你要的5千万数据 先count(*)你的记录然后-8kw=@num 1、在cmd下,导出你要保留的记录到文本data_1中 E:\>bcp "select top @num * from db.dbo.table order by id desc" queryout data_1.txt -c -t "|" -r \n -U sa -P password 2、truncate table table_name ---trun掉你的表 3、将 data_1.txt 的数据导入到table中 E:\temp>bcp db.dbo.Table in data_1.txt -b 5000 -c -t ",|" -r \n -U sa -P password 4、ok搞定 速度绝对比delete快不知道多少倍。 而且日志也比较小。 然后你要高出1千五百万也可以用bcp来做。 效率很高。
相关文章推荐
- 如何对于大量数据 存储 和 查询 ,删除,修改。
- 教你如何恢复iPhone上删除的数据及iCloud和iTunes备份
- 如何删除mysql数据库的重复数据
- android开发:EditText如何正确自己实现删除和添加数据
- Oracle中如何删除重复数据
- 人工误删除InnoDB ibdata数据文件与ib_logile重做日志文件如何恢复详细过程
- 如何快速删除大量文件和文件夹如何快速删除大量文件和文件夹
- oracle如何删除一个用户下的所有数据?
- [置顶] 【mysql 删除大表中的数据】如何删除100G以上的大表中的数据
- [FIM]如何从A导入数据,同步到B,在A系统中删除数据,在B系统中删除数据
- 人工误删除了MYSQL的InnoDB ibdata数据文件,如何快速恢复
- 如何完全删除SQL Server2005、2008、2012并重新安装(转)
- Excel如何批量删除相同的数据行
- 如何批量删除会计科目、供应商、客户的主数据
- linux系统中如何建立与删除软连接(方便快捷使用,大量节约时间)
- Oracle 表删除大量数据后查询变慢问题
- 如何应对网站反爬虫策略?如何高效地爬大量数据?
- oracle 删除大量数据后整理表(analyze table xxx compute statistics)
- oracle如何导出大量数据到文本文件中
- ABAP--如何使用REUSE_ALV_GRID_DISPLAY函数删除内表数据(样例代码,感谢依风提供)