Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1269388
  • 博文数量: 287
  • 博客积分: 11000
  • 博客等级: 上将
  • 技术积分: 3833
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-16 08:43
文章分类
文章存档

2013年(15)

2012年(17)

2011年(17)

2010年(135)

2009年(85)

2008年(18)

分类: 其他UNIX

2013-07-30 22:17:49

      MQT翻译为“物化表”。MQT技术原理是对SQL操作采取的数据库记录数据,即临时数据,把结果保存在磁盘上。一旦程序要用到这个临时数据时,AS400下的程序采用SQL命令先进行MQT数据与PF表记录数据的同步。经过数据同步后,程序就可以直接使用用有条件筛选的MQT数据,从而提高应用系统的执行效率。
   
比如,一个PF表存在记录数为5000万条,如果银行交易把今日作为sql数据记录筛选条件之一,如select * from PF where 交易日期=’2013-7-30’ and 账户类型=’A’(对公’),对交易时间的第一个小时,筛选出来符合条件的记录数为300万条,这些筛选出来的记录数据作为PF表的子集存放在MQT表中,且交易第一笔记录MQT数据是从5000万笔PF表进行筛选的,假设系统耗费20分钟,接下去每增减一笔交易系统对MQT数据从PF表进行筛选时间为0.0013333秒。假设接下去的同类并发交易数为1000/秒,包括交易处理时间。应用程序在使用这个MQT表时,首先要对递增的1000笔记录数据做同步,而不是对5300万记录加1000笔记录数重新做条件筛选,即slq筛选临时数据被破坏的情况下,多耗费20分钟以上的系统时间进行数据筛选。
   
1000笔交易记录数据对同步MQTPF表的平均时间为1秒,再下去,假设还是1000/秒的并发数,在日交易结束时,交易量为300万笔+360万笔x5
   
在交易结束后,晚上批处理时,对当日交易的记录数据如果采用同样条件的sql进行筛选是,就可以省掉多次的20分钟以上的处理时间,而直接使用MQT中的记录数据。
    采用MQT技术是用磁盘空间,保存SQL中间数据结果,换取程序的最终处理速度的提升。
 
采用MQT技术的要点补充:
1)采用MQT技术对PF表数据同步,是PF表新增的记录,或PF表字段内容有做调整,是PF表记录数据对MQT表记录数据进过单向数据同步;
2)采用MQT的sql语句可以对多个PF表操作处理中间记录数据结果;
3)MQT数据可以是多层记录数据的结果的结果;
4)MQT记录数据可以被不同的逻辑分区数据共享。



阅读(1963) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~