DB2: not logged initially & append on
来源:互联网 发布:王乐平1368单词淘宝 编辑:程序博客网 时间:2024/06/08 04:00
如果我们需要经常对一个表进行批量插入、更新和 删除操作,可以考虑在创建表的时候使用not logged initially特性。在实际生活中,这样做对于一些临时表、stage表非常好,可以提高批量插入、更新和删除的性能。否则,如果表中数据量很大,那么批量删除、插入和更新数据时会报SQL0964C错误,而且也比较慢。
例5-6 使用not logged initially创建表。
db2 => create table nolog_tab(id int, name char(20)) not logged initially
DB20000I SQL命令成功完成。
db2 => delete from nolog_tab ---------表中有3千万记录
DB21034E 该命令被当作SQL语句来处理,因为它不是有效的“命令行处理器”命令.
在SQL处理期间,它返回:
SQL0964C 数据库的事务日志已满。 SQLSTATE=57011
对于创建表时设定了not logged initially的表而言,在命令行中,可以在交易中使用alter table ... activate not logged initially指定不记录日志;
也可以考虑使用activate not logged initially清空表而不产生日志:
db2 => alter table nolog_tab activate not logged initially with empty table
DB20000I SQL命令成功完成。
db2 => commit
DB20000I SQL命令成功完成。
当激活这个特性后,我们就可以以不记日志的方式删除表中的数据;这样不但提高了速度,也减少了日志的生成,并且减少了锁资源的使用;
我们在使用这个特性时要注意,对于一些非常重要的表,以及需要写日志的表而言,我们不建议使用该特性.
在数据库中,当表中数据被删除时,空间并不会释 放,而是在该行原来的位置做个“DELETED”的标志,表示该空间可以被重用;
当DB2执行INSERT操作时,会扫描整个表的空闲空间并将新行置入空槽;而如果我们启用了append on特性,那么当插入新行时,DB2就不必搜索空槽再插入而是直接插入到表的最后;
例如:
CREATE TABLE appen_on_tab LIKE RECEIPTS IN SLOW_DISK_TBSP
可以通过将该表改变成APPEND ON来通知DB2在执行INSERT时不必搜索空槽:
ALTER TABLE appen_on_tab APPEND ON
这将使INSERT更快。这适合用于大批量追加 插入一些历史表。
如果启用这种特性,考虑定期reorg表。
- DB2: not logged initially & append on
- 关于db2中的NOT LOGGED INITIALLY
- ORA-01012: not logged on
- ORA-01012:not logged on
- ORA-01012 not logged on
- ORA-01012: not logged on
- ORA-01012: not logged on
- ORA-01012: not logged on 解决办法
- ORA-01012:not logged on的解决办法
- ORA-01012: not logged on 解决办法
- ORA-01012: not logged on(问题)
- ORA-01012:not logged on的解决办法
- rac ORA-01012 not logged on
- ORA-01012:not logged on的解决办法
- ORA-01012: not logged on 解决办法
- DB2如何开启不记日志(not logged)模式
- conn / as sysdba 报错ORA-01012: not logged on
- java.sql.SQLException: ORA-01012: not logged on
- spket插件的安装与使用完整图文版
- 微博和微信的区别之处在哪里?
- grep用法详解:grep与正则表达式
- robotium
- Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
- DB2: not logged initially & append on
- chromium messageloop
- 串口收发数据1
- OSG:2.创建一个简单的彩色四边形场景
- 06extjs的事件机制
- iOS Foundation框架 利用NSNumber和NSValue将非OC对象类型数据存放到集合
- 设计模式概论
- 经纬财富:保定纸白银与现货白银的区别
- 常用正则表达式