Det här ser ut som ett Oracle-problem. Även om felet är ett direkt resultat av ODBC-timeoutinställningarna bör den frågan inte ta 20 minuter innan den körs.
Det första du ska prova när du stöter på ett problem med dataordbokens prestanda är att samla in statistik om dataordboken. Detta ger Oracle mer information om storleken på objekten, så att det kan fatta bättre beslut om hur man ska slå samman tabellerna.
begin
dbms_stats.gather_fixed_objects_stats;
dbms_stats.gather_dictionary_stats;
end;
/
Om det inte fungerar vill du krympa frågan till den minsta möjliga storleken som fortfarande har problemet. Det finns tre frågor UNION ALL
Om de tillsammans, är chansen att bara en av dem är långsam. Sedan kan vi arbeta med att optimera den frågan.
(Men att ställa in en fråga är en process som kräver mycket fram och tillbaka och är svår att göra över Internet. Du kanske vill försöka hitta en lokal databasadministratör som kan hjälpa dig. Eftersom du använder Express Edition , du kan inte kontakta Oracle Support för hjälp.)