免费注册 查看新帖 |

Chinaunix

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

如何能让一张表的操作始终不记录日志? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-06 13:47 |只看该作者 |倒序浏览
再CREATE TABLE时加入NOT LOGED INITIALLY并不能实现始终不纪录日志,在COMMIT之后会切换回记录日志状态的。不知有没有办法实现?
谢谢

论坛徽章:
0
2 [报告]
发表于 2005-12-06 14:28 |只看该作者
使用declare global temporary table tab-definition not logged在用户临时表空间里建立。如果需要还可以建立索引

论坛徽章:
0
3 [报告]
发表于 2005-12-06 21:18 |只看该作者
我要操作的是正常的用户表,不能声明为临时表的。
目的是为了在作大数据量的IUD时不写日志提高效率避免日志写满

论坛徽章:
0
4 [报告]
发表于 2005-12-07 01:37 |只看该作者
可以分段更新

论坛徽章:
0
5 [报告]
发表于 2005-12-07 03:31 |只看该作者
好像只能在同一事务内!

论坛徽章:
0
6 [报告]
发表于 2005-12-07 10:07 |只看该作者
原帖由 islasavage 于 2005-12-6 21:18 发表
我要操作的是正常的用户表,不能声明为临时表的。
目的是为了在作大数据量的IUD时不写日志提高效率避免日志写满

没有别的办法让一个永久表永远不记录日志,这违背数据库原理。
如果只是避免日志写满,多提交就好。效率方面,调校日志表空间设计(包括个数、物理分布、extentsize、prefetchsize等)、调整logbufsz数据库参数。
你说的IUD是什么?

论坛徽章:
0
7 [报告]
发表于 2005-12-07 10:56 |只看该作者
原帖由 mymm 于 2005-12-7 03:31 发表
好像只能在同一事务内!


是的,只能在同一事务内not loged,事务结束就自动切换了。
而且通过alter table ... not loged initially不能并发操作表。

回nuoran:我的IUD是Insert Update Delete

论坛徽章:
0
8 [报告]
发表于 2005-12-07 14:47 |只看该作者
这个语句属于ddl语句,多数ddl语句执行前会给表申请超级排他锁,所有其他程序事务包括ur隔离级别都不能访问该表,所有不能并发。
IUD为何不称UID?呵呵,这个叫法迷惑。

论坛徽章:
0
9 [报告]
发表于 2005-12-07 23:34 |只看该作者
原帖由 nuoran 于 2005-12-7 14:47 发表
这个语句属于ddl语句,多数ddl语句执行前会给表申请超级排他锁,所有其他程序事务包括ur隔离级别都不能访问该表,所有不能并发。
IUD为何不称UID?呵呵,这个叫法迷惑。


原来这样啊,哈哈哈,谢谢nuoran的热心解答

论坛徽章:
0
10 [报告]
发表于 2005-12-08 09:25 |只看该作者
我也是学习中,正在备考认证。共同讨论进步,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP