Vypadá to na problém Oracle. Ačkoli je chyba přímým důsledkem nastavení časového limitu ODBC, dokončení tohoto dotazu by nemělo trvat 20 minut.
První věc, kterou je třeba vyzkoušet, když narazíte na problém s výkonem datového slovníku, je shromáždit statistické údaje o datovém slovníku. Oracle tak získá více informací o velikostech objektů, takže se může lépe rozhodovat, jak tabulky spojit.
begin
dbms_stats.gather_fixed_objects_stats;
dbms_stats.gather_dictionary_stats;
end;
/
Pokud to nefunguje, budete chtít zmenšit dotaz na nejmenší možnou velikost, která stále má problém. Existují tři dotazy UNION ALL
Když dohromady, je pravděpodobné, že jen jeden z nich je pomalý. Pak můžeme pracovat na optimalizaci tohoto jednoho dotazu.
(Ale ladění dotazu je proces, který vyžaduje mnoho tam a zpět a je obtížné ho provést přes internet. Možná budete chtít najít místního správce databáze, který vám může pomoci. Protože používáte Express Edition , nemůžete kontaktovat podporu Oracle s žádostí o pomoc.)