Chinaunix首页 | 论坛 | 博客
  • 博客访问: 303610
  • 博文数量: 40
  • 博客积分: 1
  • 博客等级: 民兵
  • 技术积分: 670
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-31 11:19
个人简介

从事银行核心系统设计开发的程序猿

文章存档

2019年(1)

2018年(4)

2017年(11)

2016年(6)

2015年(18)

分类: 数据库开发技术

2019-06-05 11:17:27

AS400传统写法比开放平台数据库执行SQL效率高的几个原因,我想了一下,看看对不对。
1,没有sql语句的解析处理,直接操作文件指针,也不需要统计更新,不会系统自己选错索引。
2,访问时直接定位文件指针位置,然后READ,READP,按记录前后读,无需像sql这样事先准备结果集(结果集是最消耗的因素)。
3,PF是定长记录,可以通过RRN直接定位,这在通过LF读PF记录时有优势,而oracle索引是记录rowid,mysql就更差些,索引记录主键,回表读取记录要重新查找,更耗时。
4,多页查询这种,传统写法可以灵活控制从哪条记录开始读,要跳过哪些记录,到什么时候读完结束,sql则很难控制。
5,系统会将读的表页面加载内存使用,也可人工控制,而非400的应用只能自己实现内存缓存。
6,AS400应用是本机访问文件,无需网络通讯,也不需要进程间通讯,而目前普遍的java访问开放平台数据库,每次访问都是网络通讯,消耗很大。


其实如果参照400处理的思路,去实现个国产文件数据库,倒是不错。

阅读(2315) | 评论(0) | 转发(0) |
0

上一篇:十进制浮点数的表示方法

下一篇:没有了

给主人留下些什么吧!~~