DB2建立不记录日志的表
CREATE TABLE TB_6(ID INT, NAME VARCHAR(100));
INSERT INTO TB_6 VALUES(1,'JACK');
INSERT INTO TB_6 VALUES(1,'Timo');
-----建立无日日志表
--方法一:(表存在)
CREATE TABLE TB_7 LIKE TB_6 NOT LOGGED INITIALLY; --方法二:表不存在
CREATE TABLE TB_8(ID INT) NOT LOGGED INITIALLY; --方法三:先建表,后设置
CREATE TABLE TB_9(ID INT) ; ALTER TABLE TB_9 ACTIVATE NOT LOGGED INITIALLY
但是,当你在数据库中执行UPDATE语句的时候,上述表还是记录日志的,如果想不记录日志,请参照
https://www.cnblogs.com/OliverQin/p/10219108.html
1. DB2大数据处理不记录事务日志步骤:
建表需要添加属性“NOT LOGGED INITIALLY”
在大批量更改操作的同一个事务开始时执行:“ALTER TABLE tabname ACTIVATE NOT LOGGED INITIALLY”
执行更新sql
提交,一个事务完成,后续sql为下一个事务,默认记录事务日志
但是根据IBM的官方文档及测试,建表的时候不加参数“NOT LOGGED INITIALLY”,直接进行“ALTER TABLE tabname ACTIVATE NOT LOGGED INITIALLY”也是可以的。
2. IBM官方文档:
使用 NOT LOGGED INITIALLY 参数减少日志记录
如果应用程序根据主表创建并填充工作表,并且您不担心这些工作表的可恢复性(因为可以根据主表方便地重新创建它们),
那么创建工作表时可以在 CREATE TABLE 语句上指定 NOT LOGGED INITIALLY 参数。这样可以减少日志记录并提高性能。
使用 NOT LOGGED INITIALLY 参数的优点是,不记录在创建表的同一个工作单元中对该表所作的任何更改(包括插入、删除、更新或创建索引操作)。
这不仅降低了日志记录工作量,还能提高应用程序性能。还可以对现有表使用带 NOT LOGGED INITIALLY 参数的 ALTER TABLE 语句,来获得同样的结果。
3. 理解
上述描述说了两个意思:
1.创建并填充工作表create table A as select * from B 时加NOT LOGGED INITIALLY不记录日志。
2.在表创建后(无论在建表时有无NOT LOGGED INITIALLY),对于一个事务不记录日志时,用“ALTER TABLE tabname ACTIVATE NOT LOGGED INITIALLY”。
可以看出不记录日志只是对事务而言,当事务提交后not logged intially选项同时被关闭。
因为该事务没有记录日志,导致对应的表出现异常后不能被恢复(发生SQL1477N异常,只能将表删除重建),最好在not logged intially后对表执行备份。
not logged intially方法不被推荐使用,如果要导入大量数据,还是使用Load,Import好一些; 想要在程序中写也是可以的,DB2提供了API,你可以参考API Reference。
4. sql举例
DB2 CREATE TABLE A ...... NOT LOGGED INITIALLY;
db2 ALTER TABLE A ACTIVATE NOT LOGGED INITIALLY;
db2 Insert into a select * from b;
db2 commit;
commit之前由于打开了not logged intially选项,后面的Sql语句不计日志;
commit之后not logged intially选项同时被关闭; 这个时候最好执行备份,因为你这一段数据操作是没有日志的,不利于以后恢复。
来自:http://www.cnblogs.com/BradMiller/archive/2013/07/18/3198622.html
DB2建立不记录日志的表的更多相关文章
- Ideal Forms – 帮助你建立响应式 HTML5 表单
Ideal Forms 是建立和验证响应式 HTML5 表单的终极框架.它刚刚发布 V3 版本,更小,更快,更具可扩展性.它支持实时验证,完全自适应(适应容器,没有 CSS 媒体查询需要),键盘支持, ...
- DB2支持的三种表空间SMS、DMS、DMS的自动存储
DB2支持的三种表空间SMS.DMS.DMS的自动存储 DB2中,表空间是数据库与这个数据库中存储的表之间的逻辑层.表空间在数据库中创建,表在表空间中创建.容器是一个物理存储设备.它可以由目录名.设备 ...
- db2数据库中查找数据库表
模糊查找db2数据库中的数据库表: select tabname,remarks from syscat.tables where TABNAME like 'DM%' select 'DROP T ...
- 第三百七十七节,Django+Xadmin打造上线标准的在线教育平台—apps目录建立,以及数据表生成
第三百七十七节,Django+Xadmin打造上线标准的在线教育平台—apps目录建立,以及数据表生成 apps目录建立 我们创建一个apps目录,将所有的app放到apps目录里去,这样方便管理,也 ...
- db2 中 SQL判断物理表是否存在、修改表名
1.db2 中 SQL判断物理表是否存在 SELECT * FROM SYSIBM.SYSTABLES WHERE TID <> 0 AND Name = 'TABLE_NAME' AND ...
- 一次作业过程及其问题的记录:mysql建立数据库、建表、查询和插入等
前言 这次的作业需要我建立一个小的数据库. 这次作业我使用了mysql,进行了建库.建表.查询.插入等操作. 以下是对本次作业相关的mysql操作过程及过程中出现的问题的记录. 正文 作业中对数据库的 ...
- db2建立表空间
--缓冲池 CREATE BUFFERPOOL EMP_BUF_POOL IMMEDIATE ALL DBPARTITIONNUMS SIZE 250 NUMBLOCKPAGES 0 PAG ...
- db2 reorg到底需要多少表空间(转)
脱机reorg需要一定的空间,这个空间与目标所在的数据表空间.索引表空间.以及临时表空间均有关,各空间需求的大小与表和索引所占用的数据页和索引页相关. (1)对表执行reorg操作如:db2 reor ...
- db2实例、数据库、表空间
创建数据数据库之前必须创建实例,数据库是运行在实例之上的.实例在本质上是由一些后台进程和共享内存组成.实例相当于是数据库的一个容器,可以包含多个数据库,但是一个数据库只能由一个实例进行管理.相当于Wi ...
随机推荐
- word2010忽然无法撤销
转:http://tieba.baidu.com/p/1115124288 第三楼 关闭正在运行的所有程序. 按Win-R,在运行框中键入regedit,然后单击“确定”. 在注册表编辑器中, ...
- Swift学习(三)类型推导&基本运算&分支&循环
一.Swift中类型推导&基本运算 Swift中类型推导 如果一个标识符在定义时有直接赋值,那么可以根据后面赋值的类型,来推导出前面标识符的类型,这样前面标识符的(:类型)可以省略 查看标识符 ...
- powerdesigner中怎么给一主键设为自增型auto increme
在使用powerdesigner 设计数据库表时,通常要对主键进行设置,如果主键是int 类型,一般会设置成自增,那么怎么在 powerdesigner 中设置呢,以下是具体的方法: 在所要设为自增型 ...
- Weblogic发布小问题——The root element weblogic-web-app is missing in the descriptor file
前几天发布项目遇到这样一个小错误,在此记录一下,以便加深一点印象,下次好解决类似的问题! (对应的应用服务器是WebLogic Server 版本: 10.3.6.0,应用是以文件夹的形式发在服务器的 ...
- TCP/IP详解学习笔记(12)-- TCP:传输控制协议
1.概述 TCP提供了一种可靠的面向连接的字节流运输层服务. TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认,对失序的数据重新排序,丢弃重复数据,T ...
- CSS3之圆角
CSS3圆角border-radius也是比较常用的,有了圆角,可以少很多图片了:) 语法: border-radius : none | <length>{1,4} [/ <len ...
- call函数心得
今天深深受项目组一老大哥深深的鄙视了一把,在用call的时候,因不理解导致函数之间无法正常调用 function A(){ B.call(XXX,a,b,c); }; function B(a,b,c ...
- AX 获得当前Grid的数据源的记录行数
sysQuery::CountTotal();方法 eg: int lines = sysQuery::CountTotal( SalesTable_ds.QueryRun());
- Unieap3.5-Grid翻页不提示修改
<toolbar export="{defaultType:'server'}" paging="{onPagingModified:ssSettleCheck.o ...
- C++ 必知必会: 条款1: 数据抽象
数据抽象, 具有C语言经理的我, 原先是将其看做是一个数据的集合, 把自己常用的数据通过某种方式总结,集合起来, 使用的时候能够更加方便------其实这个还是结构体思想的延续,结构体内部包含了若干的 ...