freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[it認(rèn)證]oracleperformancetuning入門手冊v-資料下載頁

2025-03-23 13:08本頁面
  

【正文】 時,計算結(jié)果復(fù)位并重新開始計算。查詢中分析函數(shù)的每個實例允許有不同的分區(qū)子句。 by Clause:排序子句,排序子句指定數(shù)據(jù)在每個組(分區(qū))內(nèi)是按什么樣的順序來計算的。ORDER BY expr ASC/DESC NULLS FIRST/LAST Clause:開窗子句,指定分析函數(shù)當(dāng)前可見的窗口(作用域)與 Partition Clause 的區(qū)別ROWS/RANGE UNBOUNDED/num PRECEDING樣例 With Clause 樣例CREATE OR REPLACE VIEW zz_test_viewAS WITH ou AS (SELECT * FROM ) SELECT h.* FROM h ,ou WHERE = 樣例(/*+ materialize */)CREATE OR REPLACE VIEW zz_test_viewAS WITH ou AS (SELECT /*+ materialize */ * FROM ) SELECT l.* FROM l ,ou WHERE = 動態(tài)SQL樣例EXECUTE IMMEDIATE 39。SELECT NVL( SUM( NVL( fulfilled_quantity, 0 )), 0 ) FROM WHERE NVL( line_set_id, 0 ) = :p_line_set_id AND line_number = :p_line_number AND header_id = :p_header_id39。 INTO v_shipped_quantityUSING p_line_set_id, p_line_number, p_header_id。游標(biāo)變量綁定樣例(1)把游標(biāo)聲明成 Reference Cursor 類型,即所謂的“游標(biāo)變量”,聲明的時候是不需要指定 SELECT 語句的。(2)在 Open 的時候,才指定 SELECT 語句,這時候就可以套用動態(tài) SQL 了。OPEN cur_test FOR 39。SELECT name FROM WHERE id = :id39。 USING v_id。 Hint說明:這種方法通常不一定奏效,因為Oracle CBO執(zhí)行計劃生成的是不無道理的。只有特定情況下,才會強制HINT。以下舉幾種強制索引的方式:方式一FULL hint 告訴ORACLE使用全表掃描的方式訪問指定表.例如: SELECT /*+ FULL(EMP) */ * FROM EMP WHERE EMPNO = 7893。 ROWID hint 告訴ORACLE使用TABLE ACCESS BY ROWID的操作訪問表. 通常, 你需要采用TABLE ACCESS BY ROWID的方式特別是當(dāng)訪問大表的時候, 使用這種方式, 你需要知道ROIWD的值或者使用索引.方式二 如果一個大表沒有被設(shè)定為緩存(CACHED)表而你希望它的數(shù)據(jù)在查詢結(jié)束是仍然停留在SGA中,你就可以使用CACHE hint 來告訴優(yōu)化器把數(shù)據(jù)保留在SGA中. 通常CACHE hint 和 FULL hint 一起使用.例如:SELECT /*+ FULL(WORKER) CACHE(WORKER)*/ *FROM WORK。方式三 索引hint 告訴ORACLE使用基于索引的掃描方式. 你不必說明具體的索引名稱例如: SELECT /*+ INDEX(table_name) */ LODGING FROM table_name WHERE fiel_name = ‘XXX’。 如果該索引的重復(fù)值過多而你的優(yōu)化器是CBO, 優(yōu)化器就可能忽略索引. 在這種情況下, 你可以用INDEX hint強制ORACLE使用該索引.又例如: SELECT /*+ NO_INDEX(table_name) */ LODGING FROM table_name WHERE fiel_name = ‘XXX’。 當(dāng)Block數(shù)比較多時,全表掃描效果會更好,這時可以強制其不走索引。方式其他 ORACLE hints 還包括ALL_ROWS, FIRST_ROWS, RULE,USE_NL, USE_MERGE, USE_HASH 等等. Query以外的SQL語句的Tuning 刪除重復(fù)記錄 最高效的刪除重復(fù)記錄方法 ( 因為使用了ROWID) DELETE FROM EMP E WHERE (SELECT MIN() FROM EMP X WHERE = )。 用TRUNCATE替代DELETE當(dāng)刪除表中的記錄時,在通常情況下, 回滾段(rollback segments ) 用來存放可以被恢復(fù)的信息. 如果你沒有COMMIT事務(wù),ORACLE會將數(shù)據(jù)恢復(fù)到刪除之前的狀態(tài)(準(zhǔn)確地說是 恢復(fù)到執(zhí)行刪除命令之前的狀況) 而當(dāng)運用TRUNCATE時, ,執(zhí)行時間也會很短. 盡量多使用COMMIT只要有可能,在程序中盡量多使用COMMIT, 這樣程序的性能得到提高,需求也會因為COMMIT所釋放的資源而減少: COMMIT所釋放的資源: a. 回滾段上用于恢復(fù)數(shù)據(jù)的信息. b. 被程序語句獲得的鎖 c. redo log buffer 中的空間 d. ORACLE為管理上述3種資源中的內(nèi)部花費注: 是否多的使用mit, 應(yīng)該還是要從應(yīng)用上來考慮, 從transaction的角度, 在需要的時候mit. 過多的mit可能造成快照過舊, 太少的mit也會給回滾段帶來壓力. 使用顯式的游標(biāo)使用隱式的游標(biāo),將會執(zhí)行兩次操作. 第一次檢索記錄, 第二次檢查TOO MANY ROWS 這個exception . 而顯式游標(biāo)不執(zhí)行第二次操作. 優(yōu)化Import和Export使用較大的BUFFER(比如10MB , 10,240,000)可以提高EXPORT和IMPORT的速度. ORACLE將盡可能地獲取你所指定的內(nèi)存大小,即使在內(nèi)存不滿足,否則列值會被截斷.4 SQL語句的Tuning建議步驟最后,不妨建議一道Tuning的基本“工序”:第一步:如何入手整理層次,看一些關(guān)鍵的問題,做Analyse查找基本資料縱觀SQL,抓住基礎(chǔ),做好準(zhǔn)備第二步:性能瓶頸對比心中的執(zhí)行計劃減欄位逆向可以減Table,正向可以加Table重新組織串法第三步:Tuning的方向從View的等價變換角度從業(yè)務(wù)邏輯角度第四步:Tuning工具SQL Tuning工具,在Navigator5里(付費)TOAD(付費)Auto Trace(付費)第五步:比對數(shù)據(jù)常見方法:抓出前后數(shù)據(jù)放進Table比對,另外再插入新數(shù)據(jù)比對如果原來的View是跑不出來的情況下:第六步:如何測試Tuning效果首先為了盡量保證緩存對測試時間影響最小,請運行如下語句:ALTER SYSTEM FLUSH SHARED_POOL。ALTER SYSTEM SET EVENTS = 39。immediate trace name flush_cache39??磿r間(最基本的了)看Block數(shù)模擬User查詢條件5 金玉良言我們在測試中發(fā)現(xiàn):有些大家Share出來的一些經(jīng)驗,我們在不同環(huán)境上測試這些SQL,得到的快慢結(jié)果并不一樣,結(jié)論也不明確,原因可能涉及許多方面,如:數(shù)據(jù)字典中統(tǒng)計訊息的準(zhǔn)確性,當(dāng)時table中數(shù)據(jù)量的大小,測試時DB所處的狀態(tài)等等,所以有些Performance問題不容易找到明確的Rule。Tuning領(lǐng)域沒有絕對的準(zhǔn)則, 一切都應(yīng)當(dāng)以實際結(jié)果為準(zhǔn), “執(zhí)行計劃”和sql_trace 非常重要的,一定要習(xí)慣通過跟蹤“執(zhí)行計劃”和 Trace的Log來調(diào)整Performance。實踐是檢驗真理的唯一標(biāo)準(zhǔn),對復(fù)雜的View做多次Tuning必不可少。PTEG
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1