1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. PL/SQL編程經驗小結

        時間:2024-07-09 15:12:46 SQL 我要投稿

        PL/SQL編程經驗小結

          1、當需要向表中裝載大量的數據流或者需要處理大量的數據流的時候,能否使用管道提高處理效率?

          管道函數對于改善并行查詢的性能非常方便,它加快往表中加載數據的速度。管道函數的使用總結如下兩點:

          每當在查詢里使用PL/SQL函數時,該查詢將被序列化,即一個處理器只能運行一個查詢實例,那么在這種情況下不可能使用并行查詢(比如在數據倉庫中要經常使用這項技術)。因此,為了使用并行查詢就必須使用管道函數,這樣也就加快了執行的速度。

          管道函數的輸入參數必須是一個引用記錄集類型(即refcursor),而返回的是嵌套表類型(其表中每一行對應每一個引用記錄)。在使用管道函數之前,必須先在程序頭寫上PARALLEL_ENABLE,這樣才能在查詢語句中使用管道函數來處理了。

          2.如何使PL/SQL程序等待一段時間執行?

          方法就是使用DBMS_LOCK包的SLEEP函數,可以進行精確定時,其語法為:

          DBMS_LOCK.SLEEP(secondsINNUMBER);

          3.需要在一張表插入一條記錄之后等若干秒后再執行另外一個操作,如何在PL/SQL程序里進行定時操作?

          一般的做法是用循環作延遲,利用DBMS_UTILITY的gettime函數來檢測當前的時間,程序代碼如下:

          另外如果是不同會話(session)之間的定時,就必須使用DBMS_PIPE包的函數來實現會話間的消息傳遞。

          4.當PL/SQL返回一個數據集的時候,該使用集合還是游標?

          一般情況下,有以下兩點作為依據:

          1)如果PL/SQL程序返回多多行數據給另外一個PL/SQL程序的話,這里就建議使用集合,因為這樣可以利用集合的批收集(bulkcollection)來提高從數據庫提取數據的速度。

          2)如果需要在PL/SQL程序的環境中把數據返回到宿主語言環境中(如Sql*plus,c,delphi等),這時應該使用游標變量來返回這些數據,因為幾乎所有的宿主語言都支持游標變量,但不是所有的宿主語言都支持集合。這樣可以增強程序的可移植性。

          5.如何更有效的在PL/SQL中使用游標?

          游標是PL/SQL中一個非常重要的概念,對數據庫的檢索主要依靠游標來操作。在PL/SQL中有兩類游標,一類是隱式游標,如selectclnointov_clnofromtable_detail.另外一類是顯式游標,如cursorv_curisselectclnofromtable_detail。對于游標的使用這里給出以下幾點建議:

          1)盡可能的使用bulkcollection。它能夠較大的提高運行性能,在Oracl9i的第二版,甚至可以使用bulkcollection來直接將數據寫入到記錄表

          2)盡量使用顯式游標來處理,因為相對于隱式游標來說,顯式游標的速度更快一些。

          3)如果查詢的表很小或者是靜態的,可以把該表緩存到一個包級的集合里。這樣,你的查詢函數就直接從集合里(即進程全局區,PGAcache),而不是從系統全局區(SGA)來取數據,這樣的處理速度會提升很多。

        【PL/SQL編程經驗小結】相關文章:

        PL/SQL編程中的經驗小結09-21

        oracle的sql語句01-21

        SQL優化大全09-09

        時間管理經驗小結范文09-24

        《PHP編程最快明白》第八講:php啟發和小結07-13

        SQL查詢語句大全10-24

        SQL語句的理解原則10-05

        PHP防止SQL注入的例子09-25

        mysql SQL語句積累參考10-02

        執行sql原理l分析05-12

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>