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 Databases