My feeling is that your query should be split into two or three queries. Parameters passed to handle different cases usually end up in a huge succession of ORs (like here with :full_time), often resulting in full scans when in some cases some extremely valid indexes were here for the taking. Forgive me for not analysing the query in depth, but I have spotted at least three occurrences of student_analytical (let me guess ... Around 10 million rows?). So many auto-joins with in-line views which rely heavily on analytical functions look a bit strange to me and I smell a misuse of those functions. There is an auto-join (somewhere in the middle :)) which could probably be get ridden of. I think that you could rewrite this query to better effect in a shorter time than 3 executions ... HTH SF Leroy Kemnitz wrote: >The query is: > > > > ---------------------------------------------------------------- Please see the official ORACLE-L FAQ: http://www.orafaq.com ---------------------------------------------------------------- To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx put 'unsubscribe' in the subject line. -- Archives are at //www.freelists.org/archives/oracle-l/ FAQ is at //www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------