从事银行核心系统设计开发的程序猿
分类: 数据库开发技术
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处理的思路,去实现个国产文件数据库,倒是不错。