oracle hints的使用
優化器模式:all_rows , first_rows
資料訪問路徑: 基於表的資料訪問, 基於索引的資料訪問
表關聯的方式:NL , MJ , HJ
使用hints儘量避免在開發中使用。一般在dba層面去使用。一般也只加優化器模式,其它的
hints最好不用。
全表掃描 :
select /*+ full(t) */ from t where object_id= 100 ;
如果全表掃描,消耗的一致性讀會很多。如果 用索引,會消耗很少。
index的使用
select /*+ index(t idx_t) */ * from t where object_id>10 ;
noindex的使用
select /*+ no_index(t idx_t) */ count(object_id) from t ;
FFS(fast full scan)掃描
select count(object_id) from t ; 此時會按索引來掃描,速度很快。
而如果使用select /*+ full(t) */ count(*) from t ; 則會使用全表掃描。
index range scan 適用於範圍很少的掃描
index fast scan 適用於索引的統計。
表的關聯的hints
NL: /*+use_nl*/ Nested loop joins
eg: select /*+use_nl*/ t.* from t,t1 where t.object_id=t1.object_id ;
NL的使用場景 :
外表比較小,內表的關聯欄位上有索引,索引的鍵值不應該重複率很高。
HJ的使用場景 :
一個大表,一個小表的關聯 ,表上沒有索引,返回結果集比較大。
資料訪問路徑: 基於表的資料訪問, 基於索引的資料訪問
表關聯的方式:NL , MJ , HJ
使用hints儘量避免在開發中使用。一般在dba層面去使用。一般也只加優化器模式,其它的
hints最好不用。
全表掃描 :
select /*+ full(t) */ from t where object_id= 100 ;
如果全表掃描,消耗的一致性讀會很多。如果 用索引,會消耗很少。
index的使用
select /*+ index(t idx_t) */ * from t where object_id>10 ;
noindex的使用
select /*+ no_index(t idx_t) */ count(object_id) from t ;
FFS(fast full scan)掃描
select count(object_id) from t ; 此時會按索引來掃描,速度很快。
而如果使用select /*+ full(t) */ count(*) from t ; 則會使用全表掃描。
index range scan 適用於範圍很少的掃描
index fast scan 適用於索引的統計。
表的關聯的hints
NL: /*+use_nl*/ Nested loop joins
eg: select /*+use_nl*/ t.* from t,t1 where t.object_id=t1.object_id ;
NL的使用場景 :
外表比較小,內表的關聯欄位上有索引,索引的鍵值不應該重複率很高。
HJ的使用場景 :
一個大表,一個小表的關聯 ,表上沒有索引,返回結果集比較大。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29196873/viewspace-1138173/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle使用提示(Hints)Oracle
- Oracle HintsOracle
- Oracle Hints的用法Oracle
- Oracle Hints語句的用法Oracle
- oracle hints的那點事Oracle
- Oracle Hints詳解Oracle
- oracle hints index格式OracleIndex
- oracle hints用法總結Oracle
- MySQL index hints 使用MySqlIndex
- How to use hints in Oracle sql for performanceOracleSQLORM
- oracle hints ? use_hash ? ordered ?Oracle
- oracle效能優化之--hintsOracle優化
- oracle sql tunning all hintsOracleSQL
- oracle 體系 & hints的用法總結(轉)Oracle
- Oracle leading vs. ordered hintsOracle
- WITH AS and materialize hints
- 【譯】Resource Hints
- Using hints for PostgresqlSQL
- HTTP Client Hints 介紹HTTPclient
- Common LISP Hints 中文Lisp
- Hints : DRIVING_SITE
- hints提示總結 zt
- 【sql調優之執行計劃】使用hint(四)Hints for JoinSQL
- 轉載--常見hints的基礎用法
- 【sql調優之執行計劃】使用hint(三)Hints for Query TransformationsSQLORM
- 【sql調優之執行計劃】使用hint(二)Hints for Access PathsSQL
- Pycharm,Python 3 與 Type HintsPyCharmPython
- Python -型別提示 Type HintsPython型別
- UVa340 - Master-Mind HintsAST
- SQL調優(SQL TUNING)並行查詢提示(Hints)之pq_distribute的使用SQL並行
- 【sql調優之執行計劃】使用hint(一)Hints for Optimization Approaches and GoalsSQLAPPGo
- 【最佳化】hints之/*+append*/作業APP
- index 和 index_desc hints的一點有意思的區別Index
- Python Type Hints 從入門到實踐Python
- 前端效能優化 - Resource Hints 資源預載入前端優化
- 加快insert into select速度with hints and nologging
- oracle OMF的使用Oracle
- Oracle Statspack的使用Oracle