[ djolesremac @ 06.07.2007. 11:28 ] @
Radim sa postgre-om iz jave. Napravio sam nekoliko procedura koje mi sluze za insert u odredjene tabele (posto je za insert potrebno da se odradi gomila provera) i pozivam ih iz jave.
Pri svakom update-u baze (gore pomenute procedure za insert) ja ubacim oko 800.000 slogova. To znaci da procedure pozovem isto toliko puta. Na pocetku sve radi OK ali posle, otprilike, trecine (oko 250.000 slogova) posla primecujem da baza radi primetno sporije a u Task Manager-u ima oko 15-20 procesa koji pripadaju postgre-u.
Nisam imao vremena da cekam da se sav taj posao zavrsi do kraja, ali mislim da ce posle odredjenog vremena sve jednostavno da stane...

Da li neko ima ideju u cemu je problem i kako da ga resim?

Veliki pozdrav!
[ alex @ 06.07.2007. 14:01 ] @
Ocigledno dobar pocetak je da optimizujes sam postgres server. Vise o tome mozes naci na google-u.
[ karas @ 06.07.2007. 14:27 ] @
Za početak pogledaj http://www.postgresql.org/docs/8.2/static/sql-vacuum.html.
[ Milos Babic @ 07.07.2007. 15:33 ] @
koliko sam razumeo, ti radis samo insert?
ako sam u pravu, vacuum ti nece pomoci mnogo.

bolje pripazi kako su ti tabele indeksirane.

ukoliko su ti to neke tmp tabele, najsrecnije je i da ne drzis
indekse na njima ili da pri unosu dropujes, a po zavrsetku
masovnog unosa rekreiras indekse, s obzirom da se indeksi
ne kreiraju po zavrsetku transakcije, nego u toku unosa.



ako radis update podataka, tj ako ja nisam dobro razumeo, poslusaj karasa ...
ako tabele praznis potpuno, ne radi
Code:
DELETE FROM tabela


nego

Code:
TRUNCATE tabela



pozdrav