Transakce - kdo poradi

Honza Pazdziora adelton na informatics.muni.cz
Středa Březen 26 15:01:58 CET 2003


On Wed, Mar 26, 2003 at 02:58:12PM +0100, Jan Serak wrote:
> Jan Bares wrote:
> > Dotazy typu:
> > Je SQL query provedeno atomicky, t.j nemuze se stat, ze je databaze zmenena
> > behem jeho provadeni?
> 
> Samozřejmě, že může.

No dobře, samozřejmě že dotaz nezamyká změny prováděné v jiných
sessions, ty běží apralelně. Ale předpokládám z toho dotazu na
atomičnost, že OP měl na mysli, jestli nemůže první půlka výsledku
přijít jako stav před změnou a druhá po změně.

> > Muzu nejak zajistit aby mi dva SQL Select dotazy provedene za sebou vratily
> > stejny vysledek? 
> 
> Takhle obecně to žádná databáze nezajistí.

No, pokud v serializable dám dvakrát bezprostředně po sobě ten samý
dotaz a nebudu tam vědomě cpát věci jako random nebo sysdate, tak
očekávám, že stejný výsledek dostanu.

> Na toto Vám nepomohou transakce, nýbrž zámky.

Jestli na to databáze použije zámky nebo multiversioning je na
databázi, ne?

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
      ... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------


Další informace o konferenci Test