SQL Performance (MOSC)

MOSC Banner

Performance issues with the query

edited Apr 17, 2016 5:00AM in SQL Performance (MOSC) 11 commentsAnswered

Client provided me the following query is causing slowness (high CPU)..  and they are using Oracle 11g Standard edition. 

Query:

SELECT min(rev) 

FROM REPORT_ITEM 

WHERE rev > :1 

AND rev <= :2 

UNION 

SELECT rev 

FROM 

   ( 

   SELECT mod(row_number() over(order by rev), ) as d, 

      rev 

   FROM REPORT_ITEM 

   WHERE rev > :4 

  AND rev <= :5 

   ) 

WHERE d=0 

UNION 

SELECT max(rev) 

FROM REPORT_ITEM 

WHERE rev > :6 

AND rev <= :7

Exec Plan:

SELECT STATEMENT Optimizer=ALL_ROWS (Cost=15300 Cardinality=1346277 Bytes=35003164)

SORT (UNIQUE) (Cost=15300 Cardinality=1346277 Bytes=35003164)

  UNION-ALL

   SORT (AGGREGATE) (Cost=5 Cardinality=1 Bytes=7)

    FILTER

     FIRST ROW (Cost=4 Cardinality=1 Bytes=7)

      INDEX (RANGE SCAN (MIN/MAX)) OF REPORT_ITEM_REV_UK (INDEX (UNIQUE)) (Cost=4 Cardinality=1 Bytes=7)

Howdy, Stranger!

Log In

To view full details, sign in to My Oracle Support Community.

Register

Don't have a My Oracle Support Community account? Click here to get started.

Category Leaderboard

Top contributors this month

New to My Oracle Support Community? Visit our Welcome Center

MOSC Help Center