如何删除大量数据 sql server2005 数据量在8千万左右??

如何删除大量数据sqlserver2005,数据量在8千万左右!用什么脚本能快速查询同记录数?请给予详细说明.总记录数1亿3千万,不是整表删除,只是需要删除top前8千万... 如何删除大量数据 sql server2005,数据量在8千万左右!
用什么脚本能快速查询同记录数?
请给予详细说明.
总记录数1亿3千万,不是整表删除,只是需要删除top前8千万,导出最新的1千5百万。
展开
 我来答
伊人萦香
推荐于2017-12-16 · TA获得超过255个赞
知道答主
回答量:74
采纳率:0%
帮助的人:0
展开全部
你要整表删除吗,那么你用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来做。
效率很高。
浴火fToG7
2010-01-27 · TA获得超过456个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:193万
展开全部
写个一次删除5000的脚本,然后跟工作调度里30秒运行一次。。。。
新人看答案。呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenxfsoft
2010-01-27 · TA获得超过1380个赞
知道大有可为答主
回答量:2418
采纳率:0%
帮助的人:1844万
展开全部
方法一:用delete ,
这么大量的数据删除,不希望你用其他程序去完成,会超时的。
你就新建一个查询,再写入查询句

你一定会有一个键的,比如identity就更好了,
delete tb
where id <80000000

删除之前先确认一下数据库文件的增长,设为不受限制,日志文件也一样。

完成删除之后,收缩一下数据库

方法二:
改表名,
用数据导入的方法,将要保留的数据用查询导出到原表名,再设置回键索引信息,
再删除旧表。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sakurasl
2010-01-27 · TA获得超过130个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:73.1万
展开全部
批量删除数据库中重复数据
删除公式:

delete from 表名
where 字段一 in
(select min(字段一)
from 表名
group by 字段一, 字段二, 字段三, 字段四, 字段五
having (count(*) > 重复值) and (字段一 > 0))

实际代码:以ASP默认VB为例

<!--#include virtual="/include/conn.asp" --> '引用数据库
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<%set rsdel=conn.execute("delete from poject_zl where title in(select min(title) from poject_zl group by title having (count(*) > 1))") '执行命令

%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式