国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

加速PL/SQL過程

2024-07-21 02:37:53
字體:
來源:轉載
供稿:網友

  在Oracle9i引入的所有新特性中,編譯型的PL/SQL是最讓人激動的進步。從Oracle9i開始,我們可以編譯PL/SQL骨架,初步的報告顯示,代碼運行的速度要比解釋型的PL/SQL快7倍。
  
  在這之前,Oracle PL/SQL的特性之一就是:它是一門解釋型的語言。在解釋型語言里,每一行代碼都會在移動到下一行代碼之前被單獨剖析和執行。盡管解釋型語言會給PL/SQL的運行帶來巨大的靈活性,但是它的不足之處是信息無法被打包進一個緊密的可執行模塊——你可以在運行期間就從操作系統里直接運行這個模塊。
  
  Oracle9i所引入的這些變化帶來了很多好處。我們現在可以把Oracle代碼隱藏在一個可執行文件里。在Oracle9i之前的版本里,預備出售PL/SQL程序段的商用開發者別無選擇,只有答應它們的客戶看到其PL/SQL的真實源代碼。今天,Oracle的開發人員能夠通過直接向其客戶提供可執行文件而隱藏掉PL/SQL的細節。
  
  而且,Oracle的代碼在編譯模塊里會運行的快得多。Oracle估計使用編譯型的PL/SQL要比使用傳統的PL/SQL快1到7倍。
  
  它最好的一點是讓Oracle PL/SQL的編譯變得相當輕松。和PL/SQL程序相對應的、已編譯的代碼被映射到PGA(而不是SGA),從而獲得更好的并發訪問。有了本機的編譯,不含有SQL參照的PL/SQL可以快1到7倍。
  
  為了啟動本機編譯,要使用下面的陳述式:
  
  ALTER session SET plsql_compiler_switches=NATIVE;
  
  在Oracle9i里,一個PL/SQL的庫單元可以被作為本機C代碼編譯,而不是作為字節代碼被解釋。它然后就會作為文件系統里的一個共享庫被保存。編譯PL/SQL函數或者進程的過程非常簡單,就像下面這樣:
  
  ALTER FUNCTION my_func COMPILE;
  
  編譯使得PL/SQL程序的執行速度更快,因為它消除了和解釋字節代碼有關的延遲,而且在本機代碼里提供了更好的流控制,這一點要比在解釋型代碼里的更好。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瑞昌市| 得荣县| 沈丘县| 鄂尔多斯市| 开封县| 阿坝县| 营山县| 房产| 三原县| 新邵县| 教育| 桃园县| 白城市| 湖口县| 大荔县| 寻乌县| 临高县| 浦县| 尉氏县| 千阳县| 苏尼特右旗| 崇左市| 阿尔山市| 达州市| 本溪| 新田县| 应用必备| 松阳县| 巴南区| 乐陵市| 阳东县| 安丘市| 仪征市| 河间市| 洛浦县| 延长县| 盐山县| 山阴县| 黄浦区| 阳江市| 旺苍县|