Qs  Why the larger values of disk=45 , query = 525 when using Global indexes & Non-prefixed local indexes

VERSUS Local Prefixed indexes where dis = 0 & query = 0 in the CASES below ?

 

Qs How significantly can this affect the performance thruput ?

 

 

CASE : Comparison with global partitioned index

 

INDEX: on sol_id, tran_date, gl_sub_Head_code and crncy_code, globally partitioned on range of tran_date

TABLE: GST table with 10 million rows, with 2 equal partitions on range of tran_date

 

Query: Select queries with key, returning 500 rows.

 

 

********************************************************************************

 

select crncy_code into :b0 

from

 gst_part where (((sol_id=:b1 and tran_date=:b2) and gl_sub_head_code=:b3)

  and crncy_code=:b0)

 

 

call     count       cpu    elapsed       disk      query    current        rows

------- ------  -------- ---------- ---------- ---------- ----------  ----------

Parse        1      0.12       0.35         46        526          0           0

Execute    500      0.04       0.03          0          0          0           0

Fetch      500      0.01       0.01         16       2000          0         500

------- ------  -------- ---------- ---------- ---------- ----------  ----------

total     1001      0.17       0.40         62       2526          0         500

 

Misses in library cache during parse: 1

Optimizer goal: CHOOSE

Parsing user id: 5  (SYSTEM)

 

Rows     Row Source Operation

-------  ---------------------------------------------------

    500  PARTITION RANGE SINGLE PARTITION: KEY KEY (cr=2000 r=16 w=0 time=10503 us)

    500   INDEX UNIQUE SCAN OBJ#(26318) PARTITION: KEY KEY (cr=2000 r=16 w=0 time=9188 us)(object id 26318)

 

 

Rows     Execution Plan

-------  ---------------------------------------------------

      0  SELECT STATEMENT   GOAL: CHOOSE

    500   PARTITION RANGE (SINGLE) PARTITION:KEYKEY

    500    INDEX (UNIQUE SCAN) OF 'IDX_GL_SUB_HEAD_TRAN_PART' (UNIQUE)

               PARTITION:KEYKEY

 

********************************************************************************

 

 

CASE 1: Comparison with non-prefixed index

 

INDEX: Non-prefixed on sol_id, tran_date, gl_sub_head_code and crncy_code

TABLE: GST table with 10 million rows with 2 equal partitions on range of tran_date

 

********************************************************************************

 

select crncy_code into :b0 

from

 gst_part where (((sol_id=:b1 and tran_date=:b2) and gl_sub_head_code=:b3)

  and crncy_code=:b0)

 

 

call     count       cpu    elapsed       disk      query    current        rows

------- ------  -------- ---------- ---------- ---------- ----------  ----------

Parse        1      0.12       0.34         42        422          0           0

Execute    500      0.02       0.03          0          0          0           0

Fetch      500      0.03       0.07         14       2000          0         500

------- ------  -------- ---------- ---------- ---------- ----------  ----------

total     1001      0.17       0.45         56       2422          0         500

 

Misses in library cache during parse: 1

Optimizer goal: CHOOSE

Parsing user id: 5  (SYSTEM)

 

Rows     Row Source Operation

-------  ---------------------------------------------------

    500  PARTITION RANGE SINGLE PARTITION: KEY KEY (cr=2000 r=14 w=0 time=70754 us)

    500   INDEX UNIQUE SCAN OBJ#(26279) PARTITION: KEY KEY (cr=2000 r=14 w=0 time=69432 us)(object id 26279)

 

 

Rows     Execution Plan

-------  ---------------------------------------------------

      0  SELECT STATEMENT   GOAL: CHOOSE

    500   PARTITION RANGE (SINGLE) PARTITION:KEYKEY

    500    INDEX (UNIQUE SCAN) OF 'IDX_GL_SUB_HEAD_TRAN_PART' (UNIQUE)

               PARTITION:KEYKEY

 

********************************************************************************

 

CASE 2: Comparison with prefixed index

 

INDEX: on tran_date,sol_id, gl_sub_head_code and crncy_code

TABLE: GST table with 10 million rows with 2 equal partitions, on range of tran_date

 

********************************************************************************

 

select crncy_code into :b0 

from

 gst_part where (((sol_id=:b1 and tran_date=:b2) and gl_sub_head_code=:b3)

  and crncy_code=:b0)

 

 

call     count       cpu    elapsed       disk      query    current        rows

------- ------  -------- ---------- ---------- ---------- ----------  ----------

Parse        1      0.00       0.00          0          0          0           0

Execute    500      0.02       0.02          0          0          0           0

Fetch      500      0.02       0.04         16       2000          0         500

------- ------  -------- ---------- ---------- ---------- ----------  ----------

total     1001      0.04       0.07         16       2000          0         500

 

Misses in library cache during parse: 1

Optimizer goal: CHOOSE

Parsing user id: 5  (SYSTEM)

 

Rows     Row Source Operation

-------  ---------------------------------------------------

    500  INDEX UNIQUE SCAN OBJ#(26298) (cr=2000 r=16 w=0 time=36529 us)(object id 26298)

 

 

Rows     Execution Plan

-------  ---------------------------------------------------

      0  SELECT STATEMENT   GOAL: CHOOSE

    500   INDEX (UNIQUE SCAN) OF 'IDX_GL_SUB_HEAD_TRAN_PART' (UNIQUE)

 

********************************************************************************

 

 

Reply via email to