db teorie

Karel Zak zakkr na zf.jcu.cz
Pondělí Listopad 12 10:29:00 CET 2001


On Mon, Nov 12, 2001 at 10:13:09AM +0100, Vladimír Náprstek wrote:
> Pokud updatujete jine sloupce, je určitě lepší update. Pokud pracujete s 
> blobem, záleží asi na tom, co s ním děláte. Pokud jej celý přepíšete, je 
> otázka jak s tímto db zachází. Teoreticky databáze při smazání musí uvolnit 
> místo pro blob a při insertu jej znovu alokovat. Já bych asi zůstal u 
> update, protože to se použije stávající místo a případně se přialokuje další.
> Ovšem nejlepší bude si to vyzkoušet. Jen se obávám, že případný nárůst 
> výkonu při smazání a znovuvložení zaplatíte zvýšeným přenosem dat...

 Todle je dost individualni zalezitost. Napr. PostgreSQL velka data
 rozdeluje na mensi a vklada do jinych vlastnich tabulek, komprimuje
 a dela jine pro uzivatele znacne ukryte cary (viz. system TOAST), 
 nepotrebne mysto po delete ne vzdy uvonuje, je u toho take prace s
 logy apod.

 Urcite bych zustal u UPDATE, asi by melo byt snahou tvurcu daneho SQL
 serveru implementovat to co nejefektivneji (pokud je efektivni smazani
 a novy insert necht si ho server dela interne sam). Dalsi veci ktera 
 vam do toho vstupuje jsou indexy kdy pri UPDATE pravdepodobne zaznam 
 v indexu nemenite (pokud nedelate update primo nejakeho 'id') pri 
 DELETE/INSERT ano. Apod.. apod...

            Karel

-- 
 Karel Zak  <zakkr na zf.jcu.cz>
 http://home.zf.jcu.cz/~zakkr/
 
 C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz


Další informace o konferenci Test