[ after @ 17.02.2012. 13:05 ] @
Zdravo.

Na 99,9% MyISAM sistemu da li je delotvorno praviti index keseve zasebno za tabelu/tabele, pored vec postojeceg zajednickog MyISAM index kesa. Recimo da je baza 2GB a ukupna velicina indexa za sve tabele 500MB, setiranjem key_buffer_size na 500MB omogucilo bi se da svi indexi budu u memoriju i brze dostupni. Pretpostavljam da nema smisla povecavati globalni/zajednicki key_buffer_size na vecu vrednost, recimo 1GB ili vise do neke max vrednosti do 25% ukupnog RAM na sistemu, ako vec suma svih indexa ne prelazi 10% ukupnog RAM.

Sada, da li je uopste svrsihodno na tu konfiguraciju praviti zasebne index keseve za nekih 3-4 najvise opterecenih tabela, sa velicinom tih zasebnih keseva koja je jednaka velicini indeza za tabelu. Recimo 10, 20, 30, 40MB ili bilo koju drugu vrednost 10, 50, 100, 150MB...

Postojali su neku bugovi u vezi myisam cache per table koji su izazivali krah mysql-a, ali koliko sam citao fiksirani su u nekoj 5.1.x verziji i vise su bile vezani za online rekonfiguraciju tipa set tabela.key_buffer_size = ....

Pozdrav.
[ nkrgovic @ 17.02.2012. 13:08 ] @
Stavi 5.5 sto pre, vredi. Probano i radi fantazija, plus nemas te gluposti.

Ako ti sve staje u RAM, onda ti nemas problem :). Svi indexi u RAM-u su pesma, ostavi visak slobodan da OS baferuje disk.
[ after @ 17.02.2012. 13:15 ] @
Vec je na 5.5 :)

I indexi staju u RAM i ostaje jos slobodnog prostora da se podese jos neki buferi: query cache, table cache...

Tako da se nadam da necu imati nikakvih problema :).
[ bogdan.kecman @ 17.02.2012. 13:43 ] @
ima smisla posebno sto mozes da radis preload, ali pitanje koliko ti je to bitno obzirom na to da ce posle "par dana" biti svejedno
[ after @ 17.02.2012. 15:33 ] @
Citat:
bogdan.kecman: ima smisla posebno sto mozes da radis preload, ali pitanje koliko ti je to bitno obzirom na to da ce posle "par dana" biti svejedno


Bogdane, da li si pod ovim mislio da ako se recimo data u tabeli (znacajno) izmeni posle odredjenog vremena potrebno je raditi neki update/flush key cache koji je vezan za tu tabelu? Updajtovanje index statistic (preko optimize table ili sl) pa onda ponovo preload u single key cache. Ili za taj interni mysql proces "osvezavanje" myisam key cache je dovoljno samo optimize table, posto za globalni key cache ne postoji nesto kao preload ili flush (ili mozda postoji?).

Pozdrav.
[ bogdan.kecman @ 17.02.2012. 15:48 ] @
nemas potrebe ti rucno da radis udpate/flush ikad ..
korisna stvar kod preload-a je to sto mozes "odma" da imas vrucu tabelu, dakle cim se digne mysql popne index u ram .. ako ne radis preload kesha (a ne mozes ako nemas dedicated) onda se index kesira tek kada se koristi pa su "prvi" upiti sporiji dok se tabela ne "zagreje" ... kada imas dovoljno rama da svi indexi budu kesirani jedini razlog za dedicated kesh je to - dakle da cim upalis mysql bude odma to u kesu... bez toga, to ce svejedno biti kesirano (na isti nacin) kao i sa preload-om, jedino ce prvih dan dva trajati to kesiranje (dok ne bude potrebe da se sve iskesira) i onda je posle toga ista prica (abitno da li ti radis update ili ne) ... ako nemas rama za sve onda je naravno bitno da napravis dedicated pool u koji ces da kesiras ono sto ti je bitno i sto neces da nikad ispadne iz kesa
[ after @ 17.02.2012. 15:54 ] @
Sada mi je jasno :)

Hvala na odgovoru!