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

正文內(nèi)容

[it認證]oracleperformancetuning入門手冊v-文庫吧資料

2025-03-29 13:08本頁面
  

【正文】 下而上的順序解析WHERE子句,根據(jù)這個原理,那些可以過濾掉最大數(shù)量記錄的條件最好寫在WHERE子句的末尾。ENTERED39。 必要時,可在Oracle Standard Table上加索引eg:BQC收單用到如下一個簡單的SQL,耗時要1秒左右;測試后發(fā)現(xiàn)只要用到flow_status_code欄位,速度就很慢。 通過ROWID訪問表 ORACLE 采用兩種訪問表中記錄的方式: a. 全表掃描 全表掃描就是順序地訪問表中每條記錄. ORACLE采用一次讀入多個數(shù)據(jù)塊(database block)的方式優(yōu)化全表掃描. b. 通過ROWID訪問表 如果可以,強烈采用基于ROWID的訪問方式情況以提高訪問表的效率。 在View中盡量不要使用 Package/function 來得到欄位值,在view中盡量不要引用function,否則會增加一定的通訊開銷。SHIP_METHOD39。 ,這個正好是INDEX的第一位。時間:(BQC環(huán)境)這個SQL中使用了LOOKUP_TYPE=39。 所以為了讓使用fnd_lookup_values的fnd_lookup_values_u1 index,用一下SQL:SQL2:SELECT , FROM flv , order1 WHERE = AND = 39。所以,Oracle優(yōu)化器會去分析:如果使用INDEX的話,就要先FULL SCAN lookup_type,接著是view_application_id,再找到lookup_code ,分析結(jié)果后認為這樣反而比FULL SCAN TABLE還要慢,所以執(zhí)行計劃沒有使用INDEX,直接采用全表掃描。這里只關(guān)聯(lián)了一個條件lookup_code,lookup_code的確是fnd_lookup_values Index:fnd_lookup_values_u1中的一個欄位,但觀察執(zhí)行計劃,它沒有去用Index。 transaction number。 用table 索引(index)欄位去做Table間的關(guān)聯(lián),可避免費時的全表掃描如果Table上有索引,則系統(tǒng)訪問帶索引的Field時,可通過訪問索引中的欄位來快速獲得相對應記錄的ROWID,而通常情況下,使用索引比全表掃描要塊幾倍乃至幾千倍。 (大 tables 之間最好用直接 join)2. 不想該 table 成為限制條件時也可以勉強使用。也就是說, 以大tables為base做join, 小table 做 subquery.因為Subquery所得到的子Table的數(shù)據(jù)量等訊息是Oracle無法事前統(tǒng)計出來的,所以優(yōu)化器也很難得出一個優(yōu)化過的執(zhí)行計劃。通常, 帶有UNION, MINUS , , 使用UNION, MINUS, INTERSECT也是可以考慮的, 畢竟它們的可讀性很強。(DEV2: )SELECT , , item_desc , extended_amount , (SELECT FROM itm WHERE = AND ROWNUM = 1) item_type FROM rctl , rcta WHERE = AND = 39。Eg 3: distinct(DEV2: 50秒)SELECT DISTINCT , , item_desc , extended_amount , AS item_type FROM rctl , itm WHERE = (+) AND = 39。Eg 2: group by(DEV2: 9秒)SELECT SUBSTR (, 1, 50) AS order_number , ( NVL (SUM ( * ), 0) + NVL (SUM (), 0) ) AS amount FROM ordh , ordl WHERE = GROUP BY SUBSTR (, 1, 50)。 一些很耗資源的SQL操作,在不必要的情況下不要使用Select *,Order by,Group by,Distinct, UNION, MINUS,INTERSECT 操作是相當耗時的,在View中能不使用就不要使用,Eg 1: order by(DEV2:)SELECT * FROM ordl。, FROM ordh WHERE = 39。UNION ALLSELECT 39。, FROM ordh WHERE = 39。(DEV2: )SELECT 39。, FROM ordh WHERE = 39。UNIONSELECT 39。, FROM ordh WHERE = 39。 UNION ALL效率比UNION高很多(DEV2: 5秒)SELECT 39。 AND = )。高效:(DEV2: 1秒)SELECT FROM ordl WHERE NOT EXISTS ( SELECT 1 FROM ordh WHERE = 39。CLOSED39。例如,某報表的View是EIS類型的,需要一次抓得所有資料,則可以使用Hint的方式使該SQL的optimizer_mode= ALL_ROWS,讓Oracle優(yōu)化器產(chǎn)生更好的執(zhí)行計劃。注意:統(tǒng)計操作是很耗資源的動作,要在系統(tǒng)Loading小的時候進行。――――――――――――――――――――――然后去OS上去找出這個trace file,用tkprof 去轉(zhuǎn)換,然后再看Log的詳細內(nèi)容??梢猿绦蜻壿嬮_始前加上sql_trace=true,結(jié)束前結(jié)束sql_trace=false即可:――――――――――――――――――――――alter session set sql_trace=true。所以Tuning SQL不僅要看“執(zhí)行計劃”,有時還必須結(jié)合trace的Log去分析。 跟蹤 SQL實際運行的Cost執(zhí)行計劃是Oracle根據(jù)一些統(tǒng)計信息去“估計”出各個步驟所耗的Cost,與實際的執(zhí)行過程所耗Cost不見得一樣。()。Oracle DB中常用的Gather有以下一些,DBA也可以直接在Database級別上定期Run這些Function,以便能讓Oracle統(tǒng)計到最新的數(shù)據(jù)庫狀況:()。 結(jié)合BenQ Oracle ERP 優(yōu)化模式(Optermizer Mode)我們再來看一下我們ERP的DB的設(shè)置情況:以下是從我們ERP中BQE Production 環(huán)境取到的一些設(shè)置:/disk/BQE/bqedb/――――――――――――――――――――――――――――――――――――――――――――――――― optimizer_mode Prior to 11i, optimizer_mode was always set to rule. For 11i, choose is mandatory. Although Applications modules will set the optimizer mode to either first_rows or all_rows, depending on whether online or batch, an Applications database MUST BE STARTED with the optimizer mode set to CHOOSE. Many of the system dictionary views,in
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1