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