execute immediate into 語句的效能問題(oracle)

來源:互聯網
上載者:User
前幾天寫了個oracle的procedure用來將一個其中有很多不相干資料Excel檔案中的有用資料提取出來以單條記錄形式迴圈插入一張表中存放,我在procedure中用了2個遊標嵌套來遍曆進行判斷,完成之後procedure執行的時候並沒有什麼問題結果也能很成功的匯入進去,就是procedure執行的時間很不穩定,最快能12s,最慢能到40s,鬱悶了很長時間,最後跟進去調了2個小時終於發現原來是這句話惹的禍~~~~execute immediate'select '|| V_月報列名||' from v_月報原始視圖 where rownum=1 and 月報編號='''||V_YBBH||''' and 預留列2 is not null' into V_臨時列;
               
execute immediate'select '|| V_月報列名||' from (select v_月報原始視圖.*,rownum as JN序號 from v_月報原始視圖 where 月報編號='''||V_YBBH||''' and 預留列2 is not null) where JN序號=2' into V_臨時列2;

我在遊標中用了動態執行SQL的語句 execute immediate 結果 into 變數   這句話嚴重影響了效能 速度很慢 執行一次還好但是 是需要迴圈8000多次速度就會變的暴慢而且很不穩定.......看來在大量資料遊標迴圈中使用動態指派陳述式效能損耗是巨大的。。。。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.