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