> ÍÄÁ. where id in ÜÔÏ
>
> where id = 1 or id = 2 or id = 3
>
> ÐÏÞÅÍÕ ÜÔÏ ÄÏÌÖÎÏ ÏÔÌÉÞÁÔØÓÑ ÏÔ
> where id = 3 or id = 2 or id = 1

ÍÄÁ. ÜÔÏ Ñ ËÁË-ÔÏ ÎÅ ÐÏÄÕÍÁÌ
ÔÏÞÎÅÅ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÏÄÕÍÁÌ :)
ÐÏÌÕÞÉÌÏÓØ ÞÔÏ ÏÂßÅÄÉÎÉÌ Ä×Á ÒÁÚÎÙÈ ×ÏÐÒÏÓÁ × ÏÄÉÎ.
ÐÅÒ×ÙÊ ÐÒÏ ÐÏÒÑÄÏË ÏÂÈÏÄÁ - ÎÕ Ó ÜÔÉÍ ×ÏÏÂÝÅÍ-ÔÏ ×ÓÅ ÑÓÎÏ
Á ×ÔÏÒÏÊ ÐÒÏ ÐÅÒÅÓÅËÁÀÝÉÅÓÑ ÍÎÏÖÅÓÔ×Á (ÓÏ×ÐÁÄÁÀÝÉÅ ËÁË ÞÁÓÔÎÙÊ ÓÌÕÞÁÊ) × 
ÏÄÎÏÍ ÏÐÅÒÁÔÏÒÅ

> Ñ ÚÁÍÅÞÕ, ÞÔÏ ÁÔÏÍÁÒÎÏÓÔØ update ÜÔÏ ÏÂÎÏ×ÉÔ update ×ÓÅ ÚÁÐÉÓÉ,
> ÐÏÐÁÄÁÀÝÉÅ ÐÏÄ ÕÓÌÏ×ÉÅ, ÉÌÉ ÐÒÉ ÏÂÌÏÍÅ - ÎÉ ÏÄÎÏÊ.

"ÏÂÌÏÍ" ÎÅ ÓÏ×ÓÅÍ ÕÄÁÞÎÙÊ ÔÅÒÍÉÎ ÄÌÑ ÐÏÑÓÎÉÎÉÑ ÒÁÂÏÔÙ ÒÅÌÑÃÉÏÎÎÙÈ óõâä
:))

ÐÏÎÑÔÎÏ ÞÔÏ ÅÓÌÉ ÔÒÁÎÚÁËÃÉÑ nowait ÔÏ ËÏÍÕ-ÔÏ ÏÄÎÏÍÕ (Á ÍÏÖÅÔ É ÏÂÏÉÍ) 
ÐÏÊÄÅÔ ÏÔËÁÚ × ×ÙÐÏÌÎÅÎÉÉ ÄÁÎÎÏÇÏ ÏÐÅÒÁÔÏÒÁ, ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ ÎÉ ÏÄÎÁ ÉÚ 
ÚÁÐÉÓÅÊ × ÔÒÁÎÚÁËÃÉÉ, ËÏÔÏÒÏÊ ÏÔËÁÚÁÌÉ ÎÅ ÉÚÍÅÎÉÔÓÑ

Á ×ÏÔ ËÁË ÐÏ×ÅÄÅÔ ÓÅÂÑ ÓÅÒ×ÅÒ ÅÓÌÉ ÔÒÁÎÚÁËÃÉÑ wait

ÅÓÌÉ ÂÙ ÍÙ × Ä×ÕÈ ÔÒÁÎÚÁËÃÉÑÈ ÏÂÎÏ×ÌÑÌÉ ËÁÖÄÕÀ ÚÁÐÉÓÉ ÏÔÄÅÌØÎÙÍ ÏÐÅÒÁÔÏÒÏÍ 
update, É ÐÏÒÑÄÏË ÏËÁÚÌÁÓÑ ÂÙ ×ÓÔÒÅÞÎÙÍ (Ô.Å. × ÔÒ1 - (1, 2, 3), Á × ÔÒ2 (3, 
2, 1)), ÔÏ ÐÏÌÕÞÉÌÉ ÂÙ ËÌÁÓÓÉÞÅÓËÉÊ deadlock, Ô.Å. ÍÅÒÔ×ÕÀ ÂÌÏËÉÒÏ×ËÕ

×ÏÔ ÍÏÊ ×ÏÐÒÏÓ ÓÏÂÓÎÏ Ï ÜÔÏÍ
ËÁËÉÍ ÏÂÒÁÚÏÍ ×ÙÐÏÌÎÑÅÔÓÑ update ÍÎÏÖÅÓÔ×Á ÚÁÐÉÓÅÊ, ËÁËÏÊ ÉÚ Ä×ÕÈ ×ÁÒÉÁÎÔÏ× 
ÂÌÉÖÅ?

×ÁÒÉÁÎÔ 1.
- ÞÉÔÁÅÍ ÐÅÒ×Õ ÚÁÐÉÓØ Ó ÐÏÄÈÏÄÑÝÉÍÉ ÕÓÌÏ×ÉÑÍÉ, ÉÚÍÅÎÑÅÍ
- ÞÉÔÁÅÍ ×ÔÏÒÕÀ, ÉÚÍÅÎÑÅÍ
- ÞÉÔÁÅÍ ÔÒÅÔØÀ, ÎÁÔÙËÁÅÍÓÑ ÎÁ ÔÏ ÞÔÏ ÄÒÕÇÁÑ ÔÒÁÎÚÁËÃÉÑ ÅÅ ÉÚÍÅÎÉÌÁ, ÖÄÅÍ... 
ÖÄÅÍ.. ÖÄÅÍ...

×ÁÒÉÁÎÔ 2.
- ÞÉÔÁÅÍ ×ÓÅ ÚÁÐÉÓÉ ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÉÚÍÅÎÅÎÉÑ (WITH LOCK), ÎÁÔÙËÁÅÍÓÑ ÎÁ 
ÔÒÅÔØÅÊ, ÞÔÏ ÏÎÁ ÚÁÂÌÏËÉÒÏ×ÁÎÁ, ÏÔÍÅÎÑÅÍ ÞÔÅÎÉÅ, ÖÄÅÍ, ÏÐÑÔØ ÞÉÔÁÅÍ É 
ÂÌÏËÉÒÕÅÍ
- ÐÉÛÅÍ ÉÚÍÅÎÅÎÉÑ

Ñ ÐÏÎÉÍÁÀ ÞÔÏ record_version É no_record_version ×ÎÏÓÑÔ Ó×ÏÉ ËÏÒÒÅËÔÉ×Ù × 
ÜÔÁÐ ÞÔÅÎÉÑ, ÎÏ × ÏÂÝÅÍ ×ÉÄÅ ËÁËÏÊ ÉÚ ×ÁÒÉÁÎÔÏ× ÂÌÉÖÅ?




Ответить