oracle hints用法大全

2021-08-30 09:40:32 字數 1607 閱讀 2704

oracle hints用法大全

1. /*+all_rows*/

表明對語句塊選擇基於開銷的優化方法,並獲得最佳吞吐量,使資源消耗最小化.

例如:

select /*+all+_rows*/ emp_no,emp_nam,dat_in from bsempms where emp_no='scott';

2. /*+first_rows*/

表明對語句塊選擇基於開銷的優化方法,並獲得最佳響應時間,使資源消耗最小化.

例如:

select /*+first_rows*/ emp_no,emp_nam,dat_in from bsempms where emp_no='scott';

3. /*+choose*/

表明如果資料字典中有訪問表的統計資訊,將基於開銷的優化方法,並獲得最佳的吞吐量;如果資料字典中沒有訪問表的統計資訊,將基於規則開銷的優化方法;

例如:

select /*+choose*/ emp_no,emp_nam,dat_in from bsempms where emp_no='scott';

4. /*+rule*/

表明對語句塊選擇基於規則的優化方法.

例如:

select /*+ rule */ emp_no,emp_nam,dat_in from bsempms where emp_no='scott';

5. /*+full(table)*/

表明對錶選擇全域性掃瞄的方法.

例如:

select /*+full(a)*/ emp_no,emp_nam from bsempms a where emp_no='scott';

6. /*+rowid(table)*/

提示明確表明對指定表根據rowid進行訪問.

例如:

select /*+rowid(bsempms)*/ * from bsempms where rowid>='aaaaaaaaaaaaaa'

and emp_no='scott';

7. /*+cluster(table)*/

提示明確表明對指定表選擇簇掃瞄的訪問方法,它只對簇物件有效.

例如:

select /*+cluster */ bsempms.emp_no,dpt_no from bsempms,bsdptms

where dpt_no='tec304' and bsempms.dpt_no=bsdptms.dpt_no;

8. /*+index(table index_name)*/

表明對錶選擇索引的掃瞄方法.

例如:

select /*+index(bsempms ***_index) use ***_index because there are fewmale bsempms */ from bsempms where ***='m';

9. /*+index_asc(table index_name)*/

表明對錶選擇索引公升序的掃瞄方法.

例如:

select /*+index_asc(bsempms pk_bsempms) */ from bsempms where dpt_no='scott';

setsocket用法大全

1.如果在已經處於 established狀態下的socket 一般由埠號和標誌符區分 呼叫closesocket 一般不會立即關閉而經歷time wait的過程 後想繼續重用該socket bool breuseaddr true setsockopt s,sol socket so reusea...

DateTime用法大全

今天 datetime.now.date.toshortdatestring 昨天,也就是今天的日期減一 datetime.now.adddays 1 toshortdatestring 明天,同理,加一 datetime.now.adddays 1 toshortdatestring 本週 要知道...

linux grep用法大全

原文 在unix中經常會用到grep去選取所需要的資訊,用好grep有時可以到達意想不到的效果。grep g globally search for a re regular expression r r and p print the results.1 引數 i 忽略大小寫 c 列印匹配的行數 ...