BITMAP JOIN INDEX UPDATE
Description
Update bitmap join index
This operation is performed as a recursive autonomous transaction
to update a bitmap join index when DML is performed on either of the
base tables
Versions
This operation was introduced in Oracle 9.0.1
This operation is implemented in the following versions
| |
| 9.0.1 |
| 9.2.0 |
| 10.1.0 |
| 10.2.0 |
|
Example
This example was developed using Oracle 9.2.0.1 on Windows 2000
This operation cannot be detected using AUTOTRACE or EXPLAIN PLAN. Use
SQL trace instead
This example requires the following table and index definitions
-- Create dimension table
CREATE TABLE t1 (c1 NUMBER PRIMARY KEY,c2 NUMBER);
INSERT INTO t1 VALUES (1,100);
COMMIT;
-- Create fact table
CREATE TABLE t2 (c1 NUMBER,c2 NUMBER);
-- Create bitmap index
CREATE BITMAP INDEX i1
ON t2 (t1.c1)
FROM t1,t2
WHERE t1.c1 = t2.c1;
The statement
INSERT INTO t2 VALUES (1,1000);
generates the following recursive execution statement (SQL Trace)
UPD_JOININDEX "US01"."BJI2I1" AS
SELECT T32551."C1", T32553.L$ROWID
FROM "US01"."BJI1" T32551, SYS.L$12 T32553
WHERE T32553."C1" = T32551."C1";
Note that this statement cannot be executed using SQL*Plus
0 BITMAP JOIN INDEX UPDATE STATEMENT
1 BITMAP JOIN INDEX UPDATE
2 1 NESTED LOOPS
3 2 TABLE ACCESS (FULL) OF L$12
4 2 INDEX (UNIQUE SCAN) OF SYS_C001843
|