pa3k napsal/a:
-------------------------------------------------------
> > Transakcni zpracovani se pouziva napriklad a hlavne u bankovnich prevodu. Pokud neprojde cely dotaz, tak se potom dela ROLLBACK.
>
> malý OT: Transakcie chápem inak. Dotazy v rámci transakcie by mali byť spracované tak aby pri behu transakcie
> nemohlo byť spracovávané ďalšie vlákno. Príklad:
> jeden update dotaz zvýši platy zamestnancom o +10% a súčasne v inom vlákne bude spracovávaný iný,
> ktoý triedi zamestnancov podľa platu. Ak pobežia naraz môže dôjsť k chybe vo výpočte. Preto zvýšim
> platy pomocou transakcie a tým zabezpečím, že do skončenia transakcie nepobeží iné vlákno. No a to
> mi príde použiteľné aj pri tej zálohe. Ak sa mýlim opravte ma.
je to sice dobra myslenka, ale TRANSAKCE jsou skutecne mysleny tak, jak jsem uvedl....
proste pokud neprojde cely SQL, tak se potom provadi ROLLBACK... Pripadne se daji naplnit promenne a pak provest nejaky SQL nad DB (vyhradni zapisovy rezim)....
Je pochopitelne, ze vetsinou ten, kdo si LOCKne (desne slovo.. :-) ) DB pro sebe, ma potom prava vyhradni, a ostatni musi pockat, ale uz sam nazev napovida, o cem to je....
BTW proto ma LOCK dva rezimy READ a WRITE. Pokud si zamknu DB jako WRITE, pak k ni mam vyhradni pravo a ostatni musi pockat. Mohou pouze cist, nikoliv zapisovat.
( je to ode mne hodne zjednodusene vysvetleni... )
EDIT:
> jeden update dotaz zvýši platy zamestnancom o +10% a súčasne v inom vlákne bude spracovávaný iný,
> ktoý triedi zamestnancov podľa platu.
tady pozor!!!
jeden dotaz je "updade" a dalsi je "select"...
pri "update" neni potreba DB zamykat. to je osetreno samo o sobe... navic, "select" jen <<cte>> data, tudiz je nemeni...
Zamykani se pouziva, pokud potrebuji DB <<pouze a vyhradne>> pro sebe... Pokusim se to uvest na <<pravou miru>>
Kazda DB umoznuje provadet zapis a menit data nad "vetou". A kdyz se nahodou setkaji dva soucasne pozadavky "nad jednou vetou", tak pochopitelne <<vyhrava>> ten posledni, ktery uklada...
No snad jsem to vysvetlil srozumitelne.... pokud ne, tak se omlouvam....
A proto se pouziva zamykani DB...
-- JaV ---- [
http://www.hades.cz] ---- security by obscurity ---------------------------------------------
motto:
It's OK to be ignorant; it's not OK to play stupid.
But it's simply not efficient for us to try to help people who are not willing to help themselves.
----------------------------------------------------------------------------------------------------------------------
Celkem upraveno 1×. Poslední úprava JanVar v 20.05.2005 23:22.