To wygląda na problem z Oracle. Chociaż błąd jest bezpośrednim wynikiem ustawień limitu czasu ODBC, zakończenie działania zapytania nie powinno zająć 20 minut.
Pierwszą rzeczą, którą należy spróbować, gdy napotkasz problem z wydajnością słownika danych, jest zebranie statystyk dotyczących słownika danych. Zapewnia to firmie Oracle więcej informacji o rozmiarach obiektów, dzięki czemu może podejmować lepsze decyzje dotyczące łączenia tabel.
begin
dbms_stats.gather_fixed_objects_stats;
dbms_stats.gather_dictionary_stats;
end;
/
Jeśli to nie zadziała, zmniejsz zapytanie do najmniejszego możliwego rozmiaru, który nadal ma problem. Istnieją trzy zapytania UNION ALL
Razem, są szanse, że tylko jeden z nich jest powolny. Następnie możemy pracować nad optymalizacją tego jednego zapytania.
(Ale dostrajanie zapytania to proces, który wymaga dużo pracy w tę i z powrotem i jest trudny do wykonania przez Internet. Możesz spróbować znaleźć lokalnego administratora bazy danych, który może pomóc. Ponieważ używasz Express Edition , nie możesz skontaktować się z pomocą techniczną Oracle w celu uzyskania pomocy).