MySQL a MyISAM vs InnoDB
Karel Zak
kzak na redhat.com
Středa Leden 5 08:49:34 CET 2005
On Wed, 2005-01-05 at 08:01 +0100, Martin Kozusky wrote:
> Ahoj,
> instaloval jsem si nejnovejsi MySQL a rekl jsem si, ze kdyz InnoDB poskytuje ACID
> a jeste nejake veci navic oproti MyISAM, tak ze to budu pouzivat.
> Prvni vec co me trochu zarazila je, ze se data ze vsech tabulek/databazi
> ukladaji jen do jednoho (default, jde zmenit) nebo nekolika malo souboru.
> To bych jeste nejak prezil :) Ale horsi je, ze kdyz si vytvorim tabulku MyISAM a
> stejnou tabulku se stejnymi daty (asi 88 milionu radku po 6 sloupeccich) typu InnoDB,
> tak napriklad "select count(*) from tabulka_ISAM" je temer okazite, ale ten samy prikaz
> "select count(*) from tabulka_Inno" nad tablkou InnoDB trva 23 minut!! Neudelal jsem
> treba nekde chybu pri konfiguraci? Nebo je feauture, ne bug? :)
To temer vypada jako, ze to na co nekteri posmesne ukazuji u PostgreSQL
tak se dostalo do MySQL. Ze ono to bude tim, ze nektere veci se jinak
delat nedaji :-))
ISAM si podle vseho uchovava aggregovane hodnoty mimo tabulku (za coz se
asi bude platit nejakym lockem) a Inno je transakcni a tedy musi
prozkoumat vsechny zaznamy platne pro danou transakci. Podle mne
nedelate spatne nic.
> Jaky typ tabulek doporucujete pouzivat, pokud mam hodne dat (kazdych 5 min pribude
> asi 1200 zaznamu a jednou za hodinu navic 18000 zaznamu).
Vec jina je pouzivate-li DB tim nejlepsim moznym zpusobem. To opravdu
vsechny ty zaznamy porebujete? Nejde je aggregovat pred pridanim do te
DB a vyrazne tim zmensit objem tech dat? Apod. Muzete take jit cestou
nepouzivanim SQL na tato surova data -- viz. treba clanek o "Navrcholu"
na abclinuxu.cz.
Karel
Karel Zak <kzak na redhat.com>
Další informace o konferenci Linux