ORACLE常見問題1000問 之四

2021-05-18 07:52:05 字數 2884 閱讀 1146

174. /*+all_rows*/

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

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

175. /*+first_rows*/

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

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

176. /*+choose*/

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

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

177. /*+rule*/

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

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

178. /*+full(table)*/

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

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

179. /*+rowid(table)*/

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

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

and emp_no='ccbzzp';

180. /*+cluster(table)*/

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

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

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

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

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

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

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

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

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

183. /*+index_combine*/

為指定表選擇位圖訪問路經,如果index_combine中沒有提供作為引數的索引,將選擇出位圖索引的布林組合方式.例如:

select /*+index_combine(bsempms sal_bmi hiredate_bmi)*/ * from bsempms

where sal<5000000 and hiredate

184. /*+index_join(table index_name)*/

提示明確命令優化器使用索引作為訪問路徑.例如:

select /*+index_join(bsempms sal_hmi hiredate_bmi)*/ sal,hiredate

from bsempms where sal<60000;

185. /*+index_desc(table index_name)*/

表明對錶選擇索引降序的掃瞄方法.例如:

select /*+index_desc(bsempms pk_bsempms) */ from bsempms where dpt_no='ccbzzp';

186. /*+index_ffs(table index_name)*/

對指定的表執行快速全索引掃瞄,而不是全表掃瞄的辦法.例如:

select /*+index_ffs(bsempms in_empnam)*/ * from bsempms where dpt_no='tec305';

187. /*+add_equal table index_nam1,index_nam2,...*/

提示明確進行執行規劃的選擇,將幾個單列索引的掃瞄合起來.例如:

select /*+index_ffs(bsempms in_dptno,in_empno,in_***)*/ * from bsempms where emp_no='ccbzzp' and dpt_no='tdc306';

188. /*+use_concat*/

對查詢中的where後面的or條件進行轉換為union all的組合查詢.例如:

select /*+use_concat*/ * from bsempms where dpt_no='tdc506' and ***='m';

189. /*+no_expand*/

對於where後面的or 或者in-list的查詢語句,no_expand將阻止其基於優化器對其進行擴充套件.例如:

select /*+no_expand*/ * from bsempms where dpt_no='tdc506' and ***='m';

190. /*+nowr99ve*/

禁止對查詢塊的查詢重寫操作.

oracle 常見問題

出現資料庫的連線問題可在命令列下使用 tnsping 服務名 來檢查出錯原因。常見錯誤有 ora 12535 tns 操作超時 首先關閉防火牆,這是最常見的連線出錯原因。如果仍然不行,檢查 tnsnames.ora 檔案配置,主要是主機名稱是否正確 tnsnames.ora network conf...

oracle 常見問題

一 oracle忘記密碼 如果不記得sys使用者的密碼了,採用如下方法可以修改密碼 1 開啟cmd,輸入sqlplus nolog,回車。2 輸入 conn as sysdba 3 輸入 alter user sys identified by 新密碼 新密碼必須以字母開頭,另外每條sql語句後得分...

Oracle常見問題

chained rows 儲存帶list chained rows子句的analyze命令的輸出.chainge sources 允許發行者檢視現有的變化資源.change sets 允許發行者檢視現有的變化設定.change tables 允許發行者檢視現有的變化表.code pieces ora...