• DDS和SQL创建的表的区别


    Birgitta 说:
        DDS描述的PF的插入/删除速度比SQL创建的来得快,但是Read的时候来得慢.
        这是因为:
        DDS描述的PF是在数据Get的时候进行验证,而插入更新的时候并没有验证.
        SQL创建的PF刚好相反,数据验证只发生在写,而不是读.
       正常你执行的操作是读远胜于写,比例大该为80:20.
       我们谈论的是关于PF内部的数据验证,而不是关于你程序的验证.
       试试如下所说的:
       用DDS定义一个PF,但是使用一个固定的记录长度
       CRTPF FILE(MYLIB/MYBASEX) RCDLEN(10) 
       我们输入数字和非法的数字值(比如XYU)到这个物理文件中.
       然后,创建一个DDS描述的只有一个数值型的字段的PF.
        如果你拷贝上一个文件到新的文件中,并指定关键字*NOCHK(FMTOPT),看看是否正确
      CPYF FROMFILE(MYLIB/BASEPF)
         TOFILE(MYLIB/DDSPF)
         FMTOPT(*NOCHK)
       现在我们用SQL创建一个等价于DDS描述的PF的数据库,
       并且重复用CPYF命令,这时候我们发现,Insert停止在错误的数字的数据中.
       
       RPG在写入的时候并没有作任何校验,CPYF如果没有*NOCHK的选项的话会执行数据验证.
       数据库对象的验证依赖于你读写的方式(Native I/O或者 SQL),并且你不能关闭数据验证或者改变它.
       这就是DDS-PF和SQL-PF的架构差别.
    =========
       因此,我们创建表--For C/S B/S only ,如果是代码表或者一些什么条件表,就是Write/Update较少的表,我们尽量用SQL创建的,否则,我们使用DDS创建的表.
    ==================================
    没想到后续引起了新闻组的一阵论战,其实DDS和SQL创建的表的性能并没有极大的变化,但是我记得这句话是罗彻斯特里面的一个SQL优化课程的老师也这么说过。
    在他们的课程中,Navigator就是all the thing.Green Screen is passive.
  • 相关阅读:
    文件上传按钮样式定制
    消除2个按钮之间1px细节引起的冲突
    css 实用代码汇总
    除掉inline-block 间距
    SQL Server 创建索引的 5 种方法
    百度API从经纬度坐标到地址的转换服务
    百度地图API简单应用——1.根据地址查询经纬度
    极光API推送 (v3 版本)
    简单快捷地测试 JPush API
    使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言
  • 原文地址:https://www.cnblogs.com/wildfish/p/442047.html
Copyright © 2020-2023  润新知