Transaction Isolation and Foreign Keys
6 отговора
194 прегледа
Transaction Isolation and Foreign Keys
Интерсно ми е проверката на външните ключове с какво ниво на изолация на транзакцията работи?
Ако работи със същото ниво както и транзакцията която променя данните то ако се използва Serialisable ниво, това означава че ще се заключат и записи в други таблици?
Някой тествал ли е това?
Мерси!



Ако работи със същото ниво както и транзакцията която променя данните то ако се използва Serialisable ниво, това означава че ще се заключат и записи в други таблици?
Някой тествал ли е това?
Мерси!
Re: Transaction Isolation and Foreign Keys
Predpolagam na razlichni serveri e razlichno.
V SqlServer za da definirash foreign key, toy tryabva da sochi kqm colona ot drugata tablica, koyato ima unique index. V tozi sluchay se pravi edin index seek, koyto e mnogo bqrz i v nay-loshiya sluchay shte ti zaklyuchi pqty po B-tree-to i stoynostta koyato tqrsish (ako sqshtestvuva).
Predpolagam, tqrseneto v drugata tablica tryabva da ima sqshtiya isolation level kakto tvoyata transakciya za da te predpazi ot problemite, koyto se opitvash da izbyagash (dirty read, unrepeatable read, phantom, etc.)
V SqlServer za da definirash foreign key, toy tryabva da sochi kqm colona ot drugata tablica, koyato ima unique index. V tozi sluchay se pravi edin index seek, koyto e mnogo bqrz i v nay-loshiya sluchay shte ti zaklyuchi pqty po B-tree-to i stoynostta koyato tqrsish (ako sqshtestvuva).
Predpolagam, tqrseneto v drugata tablica tryabva da ima sqshtiya isolation level kakto tvoyata transakciya za da te predpazi ot problemite, koyto se opitvash da izbyagash (dirty read, unrepeatable read, phantom, etc.)
Re: Transaction Isolation and Foreign Keys
Toku shto proverih na SqlServer.
Sled select ne dqrjish locks samo na tvoyata tablica. Na drugata ne.
Nay-veroyatno servera vzima locks dokato tqrsi stoynostta v drugata tablica i sled kato zavqrshi vsyako edinichno tqrsene gi puska.
Kato se zamislya, tova bi tryabvalo da e sluchaya s vsyaka druga DB sistema
Sled select ne dqrjish locks samo na tvoyata tablica. Na drugata ne.
Nay-veroyatno servera vzima locks dokato tqrsi stoynostta v drugata tablica i sled kato zavqrshi vsyako edinichno tqrsene gi puska.
Kato se zamislya, tova bi tryabvalo da e sluchaya s vsyaka druga DB sistema
Re: Transaction Isolation and Foreign Keys
Imah predvid che servera dqrji locks na tvoyata tablica a ne na drugata sled kraya na SELECT-a
Re: Transaction Isolation and Foreign Keys
За select е ясно
Ама какво става при insert?



Ама какво става при insert?
Re: Transaction Isolation and Foreign Keys
Ami i pri insert sqshtoto.
t.e. sled kraya na inserta dqrji locks samo na tablicata v koyato pravish inserta. Ot drugata tablica ne e lockanlo nishto.
Pak predpolagam po vreme na inserta, vseki look-up si zahvashta locks v drugata tablica i gi osvobojdava kogato e gotov
anton
t.e. sled kraya na inserta dqrji locks samo na tablicata v koyato pravish inserta. Ot drugata tablica ne e lockanlo nishto.
Pak predpolagam po vreme na inserta, vseki look-up si zahvashta locks v drugata tablica i gi osvobojdava kogato e gotov
anton
Re: Transaction Isolation and Foreign Keys
Mersi!
Mnogo se nadiawam da e taka i pod Oracle stoto inache performace-to ste spandne mnogo :)))




Mnogo se nadiawam da e taka i pod Oracle stoto inache performace-to ste spandne mnogo :)))