[linux] A znova Re: Multiuzivatelsky SQL server

Jaroslav.Bachorik na ic-group.no Jaroslav.Bachorik na ic-group.no
Úterý Říjen 12 21:47:31 CEST 1999




ta rychlost silno zavisi na optimalizacii dotazu. vo vseobecnosti by ziadny
update dotaz v interaktvinej aplikacii nemal trvat postrehnutelny cas -
t.j. max. 1 sekundu, podla mojho skromneho odhadu. a aj to je vela. teda
problemy so zamykanim celej tabule nie su az take hrozne ... mam taky
dojem, ze napr. aj Sybase zamyka len cele tabulky, pretoze so zamykanim
jednotlivych zaznamov prip. atributov je strasny overhead ...
myslim, ze MySQL je mozne kludne pouzit, pokial vyhovuje po vsetkych
ostatnych strankach ...

                    JRD





Miroslav Oravec <mior na psg.sk> on 12.10.99 20:47:39


Vennligst svarlinux na rak.isternet.sk


Til:      linux na rak.isternet.sk, databases na linux.cz
Kopi til:       (bcc: Jaroslav Bachorik/Industrial Communication AS)
Tittel:        [linux] A znova Re: Multiuzivatelsky SQL server


------------- další část ---------------


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)

 Kategori:



Další informace o konferenci linux