Optimizuojam mysql lenteles PHP pagalba
Sau.16, 2008 in
Optimizavimas, mysql, php
Turbūt retas optimizuojat mysql lenteles. Ko gero viena iš priežasčių yra ta, kad jūs neturi laiko kas dieną prisijunginėti prie mysql ir patiems susi optimizuoti visas lenteles. O optimizuojant sutaupote šiek tiek vietos, šiek tiek spartos.
Kadangi aš nežinau tokios užklausos kuri suoptimizuotų bet kokias lenteles esančias duomenų bazėje tai aš pasirašiau šiokią tokia funkciją:
-
-
foreach ($table as $db => $tablename) {
-
}
-
}
Šis kodas paima lentelių sąrašą ir visas suoptimizuoja. Aš šį skriptą įtraukiau į crontab’s, ir mano lentelės yra sėkmingai suoptimizuojamos kiekvieną naktį.


Sausis 16th, 2008 at 19:39:47
Ar kartais nesitiki stebuklų?
http://dev.mysql.com/doc/refman/5.0/en/optimize-table.html
Sausis 16th, 2008 at 20:19:59
Kas naktį? Tai ką tu veiki su tom lentelėm?
Statistika:
Mano darbovietės lentelės užima 1.1Gb. Rodomas overhead’as: 13Mb. Optimizacija tik sutvarko tą overhead’ą ir truputėlį indeksus. Daug efektyviau yra rašyti protingas užklausas su padoria DB struktūra.
Sausis 16th, 2008 at 22:20:05
Nu pas mane duomenų bazė ~30MB, bet overhead’as būna ~1MB, nežinau kodėl, gal kad daug trinu, rašau, keičiu. Šiaip ne tik ta overhead’ą sutvarko, indeksus, išrikiuoja ir pan. Būtinybės nėra, tačiau šioks toks optimizavimas niekam nepakenkė (ypač kai servas tuo metu nebūna užkrautas).
P.S. nesitykėjau kad mano blogą kas nors skaito