免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11310 | 回复: 19
打印 上一主题 下一主题

删除表中大量数据的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-02-04 22:13 |只看该作者 |倒序浏览
现在有一个表中的纪录很多,需要删除其中的一部分纪录,这部分纪录虽然只占该表所有记录的小部分,但绝对数量也很大。一次删除会把日志占满。不知大家有什么好办法,解决这个问题?
在import语句中有commitcount参数,可以很好解决这个问题,不知道delete有没有相似的参数?

先谢过

论坛徽章:
0
2 [报告]
发表于 2004-02-04 22:15 |只看该作者

删除表中大量数据的问题

我现在的办法是缩小条件范围,让每次删除的记录少一些,多删几次就可以了。不过这样想当麻烦,而且也没法在脚本中执行。

论坛徽章:
0
3 [报告]
发表于 2004-02-05 06:17 |只看该作者

删除表中大量数据的问题

增大日志阿

论坛徽章:
0
4 [报告]
发表于 2004-02-05 09:02 |只看该作者

删除表中大量数据的问题

[quote]原帖由 "yuwolf"]增大日志阿[/quote 发表:

是在脚本中执行的,无法手工控制每次删除记录的数量,光靠增加日志太被动了,何况磁盘空间是有限的。我想从反方向找个办法,即不增加日志,想办法使每次删除记录产生的日志小一些。大家再给想想办法。

论坛徽章:
0
5 [报告]
发表于 2004-02-05 09:50 |只看该作者

删除表中大量数据的问题

前面有讨论过,你可以搜not logged initially关键字

论坛徽章:
0
6 [报告]
发表于 2004-02-05 11:23 |只看该作者

删除表中大量数据的问题

alter table X active not logged initially with empty table

论坛徽章:
0
7 [报告]
发表于 2004-02-05 12:07 |只看该作者

删除表中大量数据的问题

原帖由 "mymm" 发表:
可以,建表时加上 NOT LOGGED INITIALLY , 在执行增删改前执行
alter table ACTIVATE NOT LOGGED INITIALLY ;这样就不会记日志.
这种操作适合于 olap系统或不重要数据,对于oltp系统建议不用.或是用于load ,import 时用

是不是这个?

论坛徽章:
0
8 [报告]
发表于 2004-02-05 12:11 |只看该作者

删除表中大量数据的问题

这个表平时不能不记日志,是不是我在删除记录前加上alter table ACTIVATE NOT LOGGED INITIALLY ,执行完删除语句之后,再执行恢复记录日志的语句就可以了?

论坛徽章:
0
9 [报告]
发表于 2004-02-05 13:07 |只看该作者

删除表中大量数据的问题

这个参数只在一个事务(工作单元)中有效。如果你这个删除的事务提交后,日志会重新记录新事务的操作的。

论坛徽章:
0
10 [报告]
发表于 2004-02-05 16:53 |只看该作者

删除表中大量数据的问题

[quote]原帖由 "大连老K"]这个参数只在一个事务(工作单元)中有效。如果你这个删除的事务提交后,日志会重新记录新事务的操作的。[/quote 发表:

我就是想只在这个操作中不记日志,是不是正好符合我的要求?这样做了,没有什么副作用吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP