oracle 8i上的優化引數

2021-04-12 12:04:20 字數 1786 閱讀 7976

/*+ full(tablename) */: 明確的指定進行全表掃瞄

/*+ rowid(tablename) */: 明確的選擇根據rowid進行表掃瞄

/*+ cluster(tablename) */: 明確的指定對指定表進行群集掃瞄, 只能應用於tablename的條件中有群集物件時

/*+ hash(tablename) */: 明確的選擇對指定表進行hash掃瞄, 只能應用於tablename的條件中有群集物件時

/*+ hash_aj */: 轉化乙個not in子查詢為乙個anti-join的hash掃瞄

/*+ hash_sj */: 轉化乙個exists子查詢為乙個semi-join的hash掃瞄

/*+ index(tablename indexname) */: 明確的指定使用某個表的某個索引, 指定了這個優化引數, 優化器對這個表將不考慮進行全表掃瞄或用這個表的其它索引. 如果對錶指定了多個索引, 那麼優化器將會考查每乙個索引的成本, 選擇成本最小, 或者選擇多個索引聯合使用, 然後將結果再組合起來, 當這都建立在, 優化器認為這樣作是成本最低的情況下. 如果沒有指定索引, 優化器會考查表上每乙個可以使用的索引.

/*+ index_asc(tablename indexname) */: 這個優化引數在預設時與 index 優化引數是一樣的, 除非你的資料庫中的索引掃瞄的預設行為被改變了. 預設行為是對索引進行正序掃瞄

/*+ index_combine(tablename indexname) */ : 如果不指定索引, 那麼優化器將使用bitmap索引進行布林組合, 而不管是不是成本最低的. 如果沒有bitmap索引的話, 也會強制的轉化乙個索引為bitmap索引來進行布林組合. 如果指定了索引,那也與上敘一樣, 但會使用指定的索引.

/*+ index_desc(tablename indexname) */: 與 index 優化引數一樣, 不過將會以逆序進行索引掃瞄.

/*+ index_ffs(tablename indexname) */: 會用索引快速掃瞄代替全表掃瞄.

/*+ merge_aj */: 轉化乙個not in子查詢為乙個 merge anti-join 查詢

/*+ merge_sj */: 轉化乙個exists子查詢為乙個merge semi-join 查詢

/*+ and_equal(tablename indexname indexname.....) */: 明確指定建立一種執行計畫, 這個計畫會把根據指定索引得到列進行組合. 這個優化引數必須指定至少二個索引, 但不能多於五個

/*+ use_concat */: 將where語句中的or執行轉化為union all形的操作, 如果這個操作的成本比沒有這個操作的成本低的話

/*+ ordered */: 指定oracle根據from後面表的順序進行join操作

/*+ star */: 指定實行star plan, star plan將最大的表放在join操作的最後, 並進行nested loops join. 這個優化引數所用的語句,必須至少有三個表

/*+ use_nl(tablename) */: 在很多情況下 nested loops join比sort-merge join要快的返回第一行記錄, 造成更快的反應速度,這個引數就是指定表要進行 nested loops join, 而不是sort-merge join

/*+ use_merge(tablename) */: 指定表要進行sort-merge join

/*+ use_hash(tablename) */: 指定表進行hash join

/*+ driving_site(tablename) */: 指定表是在其它伺服器上的 

Oracle 8i安裝問題

現象 最近在一台p4機器上的win2000 server上安裝oracle 8i,發現 雙擊 setup.exe 後,滑鼠顯示了一下馬上就毫無資訊了。原因 使用windows nt windows 2000或netware作業系統和intel p4處理器的 計算機,安裝oracle8或者oracle...

Oracle8i表空間和資料的恢復

中文microsoft windows server 2000,中文oracle8i enterpris edition 8.1.7在使用過程中,客戶端應用程式報告資料視窗檢視讀寫錯誤,以sysdba身份進入開啟oracle的dba studio,發現 d oracleoradataorclapin...

一次通過 Oracle8i 入侵系統之旅

埠 1521 是 oracle 的 tns listener 預設監聽的埠,通過掃瞄報告還可以看到 oracle 的版本為 8i.現在還不 知道對方的作業系統版本,看到主機還開放了終端服務,直接連上去看下作業系統版本.如圖 2,圖 2確定作業系統版本為 windows server 2003 企業版...