Can anybody help me with this sql:
SQL> SET AUTOTRACE ON
SQL> select msg_oid
2 from (select msg_oid, msg_log_time
3 from mb_fix_message
4 where (msg_message_type!='0' and msg_message_type!='1')
5 order by msg_log_time desc, msg_oid desc)
6 where rownum <= 10
7 order by msg_log_time desc, msg_oid desc
8 /

MSG_OID
----------
10213059
10213058
10213057
10213056
10204431
10204430
10204429
10204428
10195803
10195802

10 rows selected.


Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=136968 Card=10 Byt
es=220)

1 0 COUNT (STOPKEY)
2 1 VIEW (Cost=136968 Card=9929518 Bytes=218449396)
3 2 SORT (ORDER BY STOPKEY) (Cost=136968 Card=9929518 Byte
s=158872288)

4 3 TABLE ACCESS (FULL) OF 'MB_FIX_MESSAGE' (TABLE) (Cos
t=136968 Card=9929518 Bytes=158872288)





Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
626289 consistent gets
622304 physical reads
0 redo size
521 bytes sent via SQL*Net to client
508 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
10 rows processed


If somebody can help rewrite the sql by breaking the:
ORDER BY MSG_LOG_TIME DESC, MSG_OID DESC
I believe this is where the overhead goes.

thanksinadvance