Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So reduzieren Sie die Abfrageausführungszeit für Tabellen mit großen Datenmengen

Betrachten Sie das, was Sie gesagt haben, dass Sie keine Indizes erstellen können. Ich hoffe, dass die Abfrage einen vollständigen Tabellenscan auf der Tabelle durchführt. Bitte versuchen Sie es mit einem parallelen Hinweis.

select /*+ full(so) parallel(so, 4) */ 0 test_section, count(1) count, 'DD' test_section_value  
from svc_order so, event e  
where so.svc_order_id = e.svc_order_id  
  and so.entered_date >= to_date('01/01/2012', 'MM/DD/YYYY')  
  and e.event_type = 230 and e.event_level = 'O'  
  and e.current_sched_date between 
      to_date( '09/01/2010 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
      and to_date('09/29/2013 23:59:59', 'MM/DD/YYYY HH24:MI:SS')  
  and (((so.sots_ta = 'N') and (so.action_type = 0)) 
       or  ((so.sots_ta is null) and (so.action_type = 0)) 
       or  ((so.sots_ta = 'N') and (so.action_type is null)))
  and so.company_code = 'LL'