mysql - chybí myd soubory

Filip Krejci krejcif na gmail.com
Pondělí Listopad 19 22:13:35 CET 2007


Ahoj Martine ;)

> Ani to neni jednoznacne -- kdyz jsem pri svych pokusech s DSpamem importoval
> do nove vytvorene tabulky nekolik gigabytu dat (same zapisy, zadne cteni),
> MyISAM s tim byl hotovy za slabou pulhodinku, zatimco InnoDB nad tim
> chroustalo celou noc.
> 
> Zcela souhlasim, ze to zavisi na typu workloadu, ale ani prosta uvaha
> o ctenich a zapisech k rozhodnuti nestaci.

Mas pravdu zapomel jsem uvest, ze se jedna o paralelni zapis. Domnival 
jsem se, ze to vyplyne z me poznamky o locking levels.

Pokud se tyka sekvencniho jednovlaknoveho zapisu, je pravdepodobne, ze 
to bude trvat o neco malo dele. Je to dano tim, ze struktura dat v 
innodb je trochu vetsi nez v myisam (i kdyz od verze 5.0 se dost smrskla 
diky compact formatu).

Kazdopadne rozdil 30 minut versus cela noc, je dusledek spatneho 
nastaveni. S nejvetsi pravdepodobnosti jsi mel zapnuto 
innodb_flush_log_at_trx_commit=1 (default kvuli ACID), coz kazdy update 
flushuje az na disk! Lepsi je nastavit hodnotu 2 (flush pouze do os 
cache jako myisam) nebo 0 (zadne flushovani - nejrychlejsi - srovnatelne 
s myisam).

Tohle to je celkem bezna chyba, kdy nekdo udela jen alter table xxx 
engine=innodb a pak se divi ze innodb je 100x pomalejsi.



-- 
Filip Krejci <krejcif na gmail.com>

Bits and Bytes forever



Další informace o konferenci Linux