DDS和SQL建立的表的區別

來源:互聯網
上載者:User
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.

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.