( fazekasg | 2007. 07. 11., sze – 00:00 )

Szia!
Fentebb irtam, de akkor kifejtem egy kicsit pontosabban. Nem tudom, mennyire vagod az Oracle SQL-t, abban vannak u.n. analitikus fuggvenyek, vagy "window" fuggvenyek, amik roviden szolva ugy mukodnek, hogy a kurzornak megfeleloen elore, hatra, vagy mindket iranyban kialakitanak egy rekordokbol allo "ablakot" es az aktualis sor melle ezen ablak rekordjaibol szamolnak valamilyen erteket. Ezek jellemzoen egyszeru ertekek, mondjuk minden alkalmazott melle beirjak azon osztaly atlagfizeteset, amelyiken az illeto dolgozik, tehat "standard" mutatok, mondjuk atlag, szoras, osszeg, ntilis, rangsor, ilyesmik. Nekem hasonlora lenne szuksegem, csak javaban leprogramozva, es sokkal bonyolultabb szamitasokra. Vagyis nem szurni akarok, hanem minden sor melle betenni egy szamitott erteket, ami a parameterezheto meretu ablaknak megfelelo rekordok 4-5 mezojenek ertekei alapjan szamolodnak (pl. minden sor melle beirna a megelozo 10 sor valos szamnegyeseinek vektorszorzatat).
Igazsag szerint pontosan azt akarom csinalni, amit mondtal, csak nem par sorral, mert akkor nagyon sok ido megy el az adatok lekeresevel, hanem egy amolyan "lapozos" technologiaval, hogy felolvasok mondjuk 2*100000 sort egymas utan, es amikor az elso 100000 vegere erek, akkor azt eldobom, "hatratolom" a masik 100000-et, es beolvasom utana a kovetkezo 100.000-et, igy folyamatosan mondjuk 200.000 sort tartva memoriaban, amelyen folyamatosan folyna a feldolgozas, vagyis menne vegig rajta a window, es az egyedi azonositok melle irna ki a szamitott ertekeket vinyora. Amikor ez megvan, akkor az eredmenyt visszatolom az adatbazisba, egy joinnal hozzateszem az eredetihez, es elkeszultem.
Namost, ha letezne olyan JDBCs modszer, ami konkretan az ilyen helyzeteket kezeli, hogy ne akarja mondjuk a teljes adatbazist egy resultsetben felolvasni, hanem ilyen result page-enkent tudnam folyamatosan felolvasni az adatokat, es mondjuk "nextpage" metodussal felolvasna nekem a kovetkezot, akkor happy lennek, de sajnos ugy tunik, hogy ilyen nincs, ugyhogy kenytelen leszek magam megirni, ha nincs jobb otletetek.
Udv.:
G