Index Joins的一點測試!
index和index之間是如何進行hash join的,因為index中包括了rowid,所以透過rowid可以連線。
Index Joins
An index join is a hash join of several indexes that together contain all the table columns that are referenced in the query. If an index join is used, then no table access is needed, because all the relevant column values can be retrieved from the indexes. An index join cannot be used to eliminate a sort operation. The index join is available only with the CBO.
Index Join Hints
You can specify an index join with the initialization parameter OPTIMIZER_FEATURES_ENABLE
or the INDEX_JOIN
hint. For more information on the INDEX_JOIN
hint, see "INDEX_JOIN".
SQL> select index_name,table_name,column_name from user_ind_columns
2 where table_name='T';
INDEX_NAME TABLE_NAME COLUMN_NAME
---------- ---------- --------------------
IDX1_TT T OBJECT_NAME
IDX_T T OBJECT_ID
已用時間: 00: 00: 00.00
SQL>
SQL> select /*+ index_join(t idx_t idx1_tt) */ object_id , object_name from t wh
ere object_name like 'USER_%';
已用時間: 00: 00: 00.04
執行計劃
----------------------------------------------------------
Plan hash value: 40406431
--------------------------------------------------------------------------------
-----------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
Time |
--------------------------------------------------------------------------------
-----------
| 0 | SELECT STATEMENT | | 120K| 9277K| 4740 (1)|
00:00:57 |
|* 1 | VIEW | index$_join$_001 | 120K| 9277K| 4740 (1)|
00:00:57 |
|* 2 | HASH JOIN | | | | |
|
|* 3 | INDEX RANGE SCAN | IDX1_TT | 120K| 9277K| 1447 (1)|
00:00:18 |
| 4 | INDEX FAST FULL SCAN| IDX_T | 120K| 9277K| 33 (0)|
00:00:01 |
--------------------------------------------------------------------------------
-----------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("OBJECT_NAME" LIKE 'USER_%')
2 - access(ROWID=ROWID)
3 - access("OBJECT_NAME" LIKE 'USER_%')
Note
-----
- dynamic sampling used for this statement
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1002507/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- index clusterring cluster的一點測試!Index
- 基於函式index的一點簡單測試!函式Index
- cursor express的一點測試!Express
- Index Condition Pushdown測試Index
- 測試流程與測試人員配置的一點感想
- mv(materialized view)的一點測試ZedView
- 軟體測試流程的一點感悟
- optimizer_index_cost_adj的測試 IIndex
- index 包含null值得簡單測試IndexNull
- 測試的思考點
- 軟體穩定性測試的測試點
- 有關oracle external table的一點測試。Oracle
- 有關lock的一點測試總結!
- 許可權傳遞的一點測試!
- oracle10g r2_sql tuning_bitmap index點陣圖索引_index效能小測試OracleSQLIndex索引
- index 和 index_desc hints的一點有意思的區別Index
- nested loops 和hash join的一點測試OOP
- DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS的一點測試
- sys_refcursor以及cursor express的一點測試!Express
- 引數SKIP_UNUSABLE_INDEXES的一點測試!Index
- Index internal 結構 試驗一Index
- index和rowid的一點關係!Index
- APP測試設計測試用例的要點APP
- redis測試點Redis
- 唯一index和非唯一index中leaf node裡rowid的一點區別。Index
- 測試index online rebuild故障記錄IndexRebuild
- 學會程式碼不是測試的終點而是測試開發的起點
- 行連線的一點內部儲存測試!
- fast_start_parallel_rollback引數的一點測試ASTParallel
- constraint和index的一點關係!AIIndex
- 軟體測試中的43個功能測試點(上)
- 軟體測試中的43個功能測試點(下)
- Oracle JoinsOracle
- 資料埋點測試的那點事
- OTT 方面的測試,有沒有熱 做過系統一點的測試,求指教。
- bitmap index點陣圖索引系列(一)Index索引
- Lerning Entity Framework 6 ------ Joins and Left outer JoinsFramework
- 關於enq: TX - index contention 等待的探討與測試ENQIndex