0514-86177077
9:00-17:00(工作日)
由Oralce8.1開始,Oracle增加了一個新的特性就是Stored Outlines,或者稱為Plan Stability(計劃穩(wěn)定性)。這個特性帶來三個好處。首先,你可以優(yōu)化開銷很大的語句的處理。第二,如果有一些語句Oracle需要花費長時間來優(yōu)化(而不是執(zhí)行),你可以節(jié)省時間并且減少優(yōu)化階段的競爭。最后,它可以讓你選擇使用新的cursor_sharing參數而無需要擔心因此而不采用優(yōu)化的執(zhí)行路徑。 要知道如何使用存儲概要才是最優(yōu)的,我們首先運行一些極度沒有效率的SQL的存儲過程開始,要注意的是,我們不能修改源代碼(理論上)。 我們將看一下如何跟蹤SQL語句,并且查看它當前在數據庫中的執(zhí)行計劃,找出一些提示來改進SQL語句的性能,然后再重新執(zhí)行該SQL語句時,讓Oracle使用我們的提示。 在這個示例中,我們將創(chuàng)建一個用戶,在該用戶的模式中建一個表格,并且創(chuàng)建一個存儲過程訪問該表格,我們將在這個存儲過程上使用wrap工具,這樣我們就不能通過反向方式得到源代碼。然后我們將通過該存儲過程來調試SQL的執(zhí)行。 例子中我們將假定存儲慨要已經在數據庫創(chuàng)建的時候被自動安裝。 準備工作 創(chuàng)建一個用戶,他的權限有:create session, create table, create procedure, create any outline, and alter session。以該用戶連接并且運行以下的腳本來創(chuàng)建一個表格: 接著需要編碼來創(chuàng)建一個存儲過程訪問該表格。創(chuàng)建一個稱為c_proc.sql的腳本,如下: 當然,也可以直接執(zhí)行這個腳本來建立該過程--不過,為了更有效果,轉到操作系統(tǒng)的命令行并且執(zhí)行以下命令: wrap iname=c_proc.sql 響應是: Processing c_proc.sql to c_proc.plb 這里不是通過執(zhí)行c_proc.sql腳本來產生該過程,而是執(zhí)行看不到源碼的c_proc.plb腳本,你將會發(fā)現在user_source的視圖中找不到我們的SQL語句。
[1] [2] 下一頁
上一頁
上一頁 [1] [2]
標簽:股票投資 襄陽 嘉峪關 聊城 通化 南平 池州 南平
上一篇:Oracle數據庫索引的維護
下一篇:Oracle數據操作和控制語言詳解
Copyright ? 1999-2012 誠信 合法 規(guī)范的巨人網絡通訊始建于2005年
蘇ICP備15040257號-8