INFORMIX raw table--无日志表

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上不能创建约束

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值