> Naime predpostavimo da neka transakcija ipak mora dugo da traje,primera radi,
> triger odradjuje posao ali da bi aplikacija videla razultat zahteva ApplyUpdates(0) bez Commit(TD),(navodim kao primer code iz BCB),i recimo da se
> radi oko 1000 rekorda koji moraju kao celina da se unesu(sto po pravilu bez obzira na operatorovu umesnost mora dugo da traje),tacno je da
> inhibira garbage collector,ali isto tako mislim da ne usporava sever(to sam probao eksperimentom)...
Zavisi od optrećenja, primera radi ako imaš stotinak novih transakcija u minuti i nekoliko koje traje više sati, primetiće se. Dugotrajna transakcija ne utiče samo na garbage collection već i na startovanje novih.
> isto tako mislim da pravilno formirana transakcija moze i mora da izdrzi dugacak period postojanja transakcije bez obzira na uslove...
> Moj stav je ako se otvori transakcija bez obzira na duzinu transakcije, server mora da je omoguci i spravno, ali ne na ustrb performansi
> izvrsi ili ponisti(u slucaju prekoracenja odredjenog vremenskog perioda) pokrenutu transakciju...
To će svaka baza podržati, to nije sporno, transakcija može trajati i danima ali to nije optimalno rešenje.
> programe koje sam uporedjivao) ...primera radi ostave zaglavlje ali ako transakcija se ne zavrsi nema stavki ali zaglavlje ostane da visi(prica
> vazi za oko najcesceg nacina rada zaglavlje, stavke ,veza id ,pojasnjenje za manje upucene,verovatno nepotrebno)...
Pretpostavljam da misliš na varijantu dokument/stavke, osim ako nema bitnih razloga greška je čim se otpočne unos otvoriti transakciju napraviti parent dokument i redom dodavati child stavke. Bolje je te promene čuvati u lokalu i tek na kraju kada se sve potvrdi uneti izmene u bazu, eliminišući negativne efekte na bazu.
> Zanima me Vas stav oko dugih transakcija,za kratke transakcije mislim da nije problem i one se izvrsavaju bez problema ali oko
> dugih transakcija je sasvim druga prica....
Sve baze koje koriste multi-generational sistem (IB, FB, Postgree, mislim i MS SQL u nekim varijantama) će osetiti uticaj dugotrajnjih transakcija. Naravno taj uticaj je zanemarljiv i nemerljiv ako se radi o slabo opterećenoj bazi, par korisnika sa pretežnim SELECT kverijima.