MySQL tunning ?
Lukas Maly
malyl na col.cz
Pátek Červen 6 12:29:40 CEST 2003
Zdravim ve spolek.
Mel bych dotaz ohledne ladeni vykonu MySQL. Mam s ni takovy problem. Kdyz
v jedne aplikaci necham hledat nejakou polozku, tak se dany dotaz provadi
strasne dlouho (spis se jakoby zasekne).
Cela databaze ma 1.7G /var/db/mysql/db/
Dany select vypada asi takto:
SELECT DISTINCT main.* FROM Tickets main, Watchers Watchers_1, Watchers Watchers_3, Watchers Watchers_5 LEFT JOIN Users as Users_2 ON Watchers_
Klicova tabulka Tickets ma 13M a cita jen. 92000 zaznamu :-(
mysql> select count(id) from Tickets;
+-----------+
| count(id) |
+-----------+
| 92732 |
+-----------+
1 row in set (0.00 sec)
Pomoci show processlist; sluduji beh DB. Pokud nastane onen stezejni
dotaz, ktery zpusobi CPU states: 100% A v proceslistech se stosuji dalsi
dotazy, ktere cekaji na provedeni. Dokud dany proces ne killnu, tak se to
nezlepsi. Jinak dobry nastroj na zobrazeni sql procesu je mytop. (je to
lepsi show processlist;
Nema nekdo nejake zkusenosti jak podobne veci predejit? Napr. nastavenim
nejakeho query timeoutu?
Dik za radu
Lukas Maly
Další informace o konferenci Test