A znova Re: Multiuzivatelsky SQL server
Miroslav Oravec
mior na psg.sk
Úterý Říjen 12 20:47:39 CEST 1999
Moja byvala otazka:
> > Preto sa pytam:
> >
> > - ak ja zamknem celu tabulku na zapis, je v tej dobe pre ineho
> > pristupna k citaniu? (Dufam, ze ano)
>
A odpoved:
> Existule vicero druhu zamku. Zde je kousek z manualu MzSQL, ten celou vec
> ozrejmi:
> -----
> LOCK TABLES tbl_name [AS alias] {READ | [LOW_PRIORITY] WRITE}
> [, tbl_name {READ | [LOW_PRIORITY] WRITE} ...]
> ...
> UNLOCK TABLES
>
> LOCK TABLES locks tables for the current thread. UNLOCK TABLES releases any
> locks held by the current thread. All tables that are locked by the current
> thread are automatically unlocked
> when the thread issues another LOCK TABLES, or when the connection to the
> server is closed.
>
> If a thread obtains a READ lock on a table, that thread (and all other
> threads) can only read from the table. If a thread obtains a WRITE lock on
> a table, then only the thread holding the lock
> can READ from or WRITE to the table. Other threads are blocked.
>
> Each thread waits (without timing out) until it obtains all the locks it
> has requested.
Vysledok:
Ak som to dobre pochopil:
Pri zamknuti Lock READ je mozne tabulku citat, pri zamknuti Lock WRITE
ten, co ju takto zamkol, ju moze citat a zapisovat, OSTATNI su v keli,
teda nemozu nic, teda ani citat, pokym ju ten, co zamkol, zase
neodomkne.
A som tam, kde som bol....(v prd....).
Alebo sa mylim? Mam asi 50 uzivatelov.(naraz).
Staci uz tu raz spomenuta finta:
select pole from xxx;
... editace..
lock tables xxx write ;
update xxx set pole=nova_hodnota;
unlock tables;
Je to dost rychle, aby to tych dalsich 49, co by chceli trebars len
citat, nezdrzovalo ?
Teoria je jedna vec, prax druha...
Vdaka za kazdu dobru radu a prakticku skusenost.
--
Miroslav Oravec
mior na psg.sk
"Ja osobne verím, že systém Windows, ako uživateľské rozhranie,
je mŕtvy. Predpokladám to asi tak behom troch, štyroch rokov".
(Greg Bogochwalski - riaditeľ SCO pre východnú Európu a strednú
Áziu, Cebit, Hannover, 1999)
Další informace o konferenci Databases