中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      PL/SQL編程中的經驗小結

      時間:2024-09-21 16:03:27 SQL 我要投稿
      • 相關推薦

      PL/SQL編程中的經驗小結

        平時在PL/SQL中的編程中遇到一些問題,這里以問答的形式來進行把它們總結下來,以供大家分享。

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

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

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

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

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

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

        DBMS_LOCK.SLEEP (seconds IN NUMBER);

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

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

        DECLARE

        v_delaytime CONSTANT INTEGER := 100;

        v_starttime INTEGER ;

        v_endtime INTEGER ;

        BEGIN

        V_starttime := DBMS_UTILITY.get_time;

        V_endtime := DBMS_UTILITY.get_time;

        While abs(V_endtime- V_starttime)< v_delaytime loop

        /*空循環或者簡單的耗時執行語句*/

        End loop;

        END;

        /

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

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

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

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

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

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

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

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

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

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

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

      SQL中的單記錄函數03-30

      SQL中的單記錄函數盤點03-07

      Java中的動態代碼編程03-05

      關于SQL在數據檢查中的應用03-29

      如何快速掌握SQL Server中的日志轉移03-29

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

      SQL優化大全03-08

      oracle的sql語句01-21

      時間管理經驗小結范文03-19

      主站蜘蛛池模板: 99久久综合国产精品免费| 久久精品国产亚洲av成人擦边| 亚洲视频不卡免费在线| 免费观看成人稀缺视频在线播放| 亚洲av成色精品久久私人影院 | 徐州市| 国产高潮流白浆免费观看不卡| 国产av无码专区亚洲aⅴ| 亚洲一区二区情侣| 亚洲av有码精品天堂| 2020亚洲国产| 桂东县| 中文字幕亚洲乱亚洲乱妇| 人妻一区二区三区蜜桃| 97无码人妻一区二区三区蜜臀| 免费一级a毛片在线播出| 嘉禾县| 兰坪| 中文字幕亚洲精品乱码在线看| 音影先锋色天堂av电影妓女久久| 亚洲秘av一区二区三区| a午夜国产一级黄片| 广宁县| 疏勒县| 国产丝袜美腿美女视频| 亚洲天堂av免费在线看| 精品一区二区三区色噜噜| 中文国产成人精品久久一区| 日本经典中文字幕人妻| 国产中文字幕乱码在线| 最新亚洲综合中文字幕在线| 武宣县| 凤台县| 濉溪县| 亚洲色欲色欲大片WWW无码| 叙永县| 亚洲av永久青草无码精品| 国产日韩午夜视频在线观看| 999久久久免费精品国产牛牛| 久久se精品一区二区国产 | 久久亚洲国产精品婷婷|