Za předpokladu, že jste již zkontrolovali základní síťové prvky, jako jsou rozhraní, firewally, proxy a také hardwarové prvky DB serveru.
Možnost 1:
Místo :
Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@//xxx.xxx.xxx.xxx:1521/orcl", "user", "pass");
zkuste použít :
OracleDataSource ods = new OracleDataSource();
java.util.Properties prop = new java.util.Properties();
prop.setProperty("MinLimit", "2");
prop.setProperty("MaxLimit", "10");
String url = "jdbc:oracle:oci8:@//xxx.xxx.xxx.xxx:1521/orcl";
ods.setURL(url);
ods.setUser("USER");
ods.setPassword("PWD");
ods.setConnectionCachingEnabled(true);
ods.setConnectionCacheProperties (prop);
ods.setConnectionCacheName("ImplicitCache01");
Další podrobnosti zde
Možnost 2:Fetchsize
Jak důrazně poukázal Stephen, velikost načítání se zdá příliš velká.
A pro velikost načtení 500 000, jaké jsou vaše -Xms a -Xmx. Jaká je také nejvyšší velikost haldy v nástroji Profiler?
Možnost 3:DB
-
Zkontrolujte indexy a plán dotazů pro
src_schema.big_table_view
-
Jedná se o nástroj nebo aplikační systém. Pokud je to jen nástroj, můžete přidat paralelní stupně, indexové tipy, rozdělení atd. na základě schopností systémů DB
Možnost 4:Vlákna
Řekněte
Můžete začít
To znamená, že toto vše by nikdy nemělo být předdefinovaným kódem jako nyní.
Možnost 5:
Místo
Můžete použít
Vyhnete se tak vytvoření 500 000
Možnost 6:
Mezitím můžete také zkontrolovat u svého správce dat nějaké problémy se systémem DB a vznést SR s podporou Oracle
.n
n
Vlákna zapisovače, z nichž každé je konfigurováno pro zpracování určitého segmentu, např. vlákno1 zpracovává 0 až 10000 a zapisuje do n
různé soubory, a jakmile jsou všechny reklamy hotové, po připojení, sloučení souborů dohromady nejlépe pomocí příkazu operačního systému nízké úrovně.'n'
a segmenty by se měly vypočítat za běhu. A vytváření většího počtu vláken, než kolik váš systém podporuje, se jen zvrtne.select * from src_schema.big_table_view
SELECT column1||CHR(9)||column2||CHR(9).....||columnN FROM src_schema.big_table_view
StringBuilders
a Strings
. (Za předpokladu, že se nejedná o žádné další složité formátování). CHR(9) je znak tabulátoru.