sql >> Databáze >  >> RDS >> Oracle

Jak zkrátit dobu provádění dotazu pro tabulku s velkými daty

Když se podíváte na to, co jste řekli, nemůžete vytvářet indexy. Doufám, že dotaz provádí úplné skenování tabulky na stole. Zkuste prosím paralelní nápovědu.

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'


  1. Provedení WHERE IN na více sloupcích v Postgresql

  2. Část 2 – Jak uspořádat velký databázový diagram

  3. Příklady CEILING() v SQL Server

  4. Jak mohu spolehlivě zahodit a vytvořit databázi a uživatele v MySQL