INFORMIX raw table--无日志表
来源:互联网 发布:淘宝网址生成淘口令 编辑:程序博客网 时间:2024/06/07 18:16
INFORMIX对临时表加with no log选项后,DML操作不记录日志。 Informix支持创建不记录日志的表,在部分应用模块对性能要求较高的情形下,我们可以考虑采用RAW TABLE来提升DML操作的性能,同时能减少数据库的逻辑日志量。
语法:
create table时指定表的类型:
create raw table tabname();
同时也可以进行修改:
ALTER TABLE tabname TYPE(RAW);
ALTER TABLE tabname TYPE(STANDARD);
语法测试
--创建raw table orders_sum1
create raw table orders_sum1
(
order_date date,
sum_cat char(16),
cat_name varchar(255),
order_counts integer,
ship_charge money(20,2)
) extent size 16 next size 16 lock mode page ;
create unique index idx_orders_sum1 on orders_sum1 (order_date,sum_cat,cat_name) ;
--采用 unique index来替代primary key
--创建标准 table orders_sum2
create table orders_sum2
(
order_date date,
sum_cat char(16),
cat_name varchar(255),
order_counts integer,
ship_charge money(20,2)
) extent size 16 next size 16 lock mode page ;
create unique index idx_orders_sum2 on orders_sum2 (order_date,sum_cat,cat_name) ;
性能测试对比
raw_table.sql 语句如下:
begin work;
insert into orders_sum1 select * from orders_sum;
commit work;
time dbaccess demodb raw_table.sql
Database selected.
Started transaction.
1550237 row(s) inserted.
Data committed.
Database closed.
real 0m26.597s
user 0m0.006s
sys 0m0.005s
stand_table.sql 语句如下:
begin work;
insert into orders_sum2 select * from orders_sum;
commit work;
[informix@localhost demodb]$ time dbaccess demodb stand_table.sql
Database selected.
Started transaction.
1550237 row(s) inserted.
Data committed.
Database closed.
real 1m34.132s
user 0m0.005s
sys 0m0.005s
raw table比正常的表的性能有明显的差异。
但同样会有一些负面影响:
1、不记录日志,则利用逻辑日志来恢复的系统,对raw table无法起作用;
2、对于利用数据库逻辑日志的外部系统则恢复捕获到raw table的逻辑日志;
3、对raw table上不能创建约束
- INFORMIX raw table--无日志表
- informix-table
- INFORMIX 外部表 External table 使用说明
- informix-逻辑日志
- informix添加逻辑日志
- informix日志模式
- 无框架加载table表中数据
- raw表
- informix se 224打开日志错误 解决方法
- LWIP 无OS RAW-API UDP实例
- LWIP 无OS RAW-API 函数
- informix 修改 表名
- informix表详解
- informix 临时表空间
- Informix数据库系统表
- Informix系统表用途
- informix sysmaster表详解
- Informix系统表用途
- 各个信号的解释
- Window消息的背景
- JavaScript toFixed() 方法
- 如何获取一个Class在GC在的空间大小
- JavaScript中的字符串操作
- INFORMIX raw table--无日志表
- ExcelUtils--excel报表模板引擎
- unix常用的命令集(转)
- byte与datetime的转化
- JS实现投票
- ORACLE 表空间操作总结
- 导出Excel的类
- .Net Micro Framework 4.0正式开源
- 国际国内cms系统开源网址大综合