Skocz do zawartości
mario1973

log-slow-queries

Polecane posty

Witam,

 

Raz na jakiś czas 'przycina' mi się trochę serwerem mysql. Przylogowałem slow queries i jedyne jakie pojawiają się to :

 

 

# Query_time: 15 Lock_time: 0 Rows_sent: 10 Rows_examined: 122307

SELECT f.*, AVG(l.value) AS vote_value, COUNT(l.value) AS vote_count FROM jos_downloads_files AS f LEFT JOIN jos_downloads_log AS l ON l.type=3 AND l.fileid=f.id WHERE f.containerid = 2 AND f.published=1 GROUP BY f.id ORDER BY filetitle LIMIT 690,10;

 

serwis oparty na joomli,

wnosząc po Rows_examined: 122307 , sądzę, że jest to jeden z moich problemów. Niestety nie znam się na wszystkim i dlatego chciałbym prosić o sugestie co zrobić z tym fantem.

 

 

M

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawdź oczywiście index'y tabel które widnieją w zapytaniu.

Ale oczywiście przeglądałeś już forum.joomla.pl :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Sprawdź oczywiście index'y tabel które widnieją w zapytaniu.

 

W sumie czy samo zapytanie nie jest pokręcone ?

 

zrobiłem :

mysql> describe (SELECT f.*, AVG(l.value) AS vote_value, COUNT(l.value) AS vote_count FROM jos_downloads_files AS f LEFT JOIN jos_downloads_log AS l ON l.type=3 AND l.fileid=f.id WHERE f.containerid = 2 AND f.published=1 GROUP BY f.id ORDER BY filetitle LIMIT 690,10);

+----+-------------+-------+-------+-------------------------------------------+-------------+---------+-------+------+----------------------------------------------+

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+----+-------------+-------+-------+-------------------------------------------+-------------+---------+-------+------+----------------------------------------------+

| 1 | SIMPLE | f | ref | containerid,recommended,featured,opsystem | recommended | 2 | const | 599 | Using where; Using temporary; Using filesort |

| 1 | SIMPLE | l | range | userid,fileid,ipaddress | fileid | 1 | NULL | 98 | Using where |

+----+-------------+-------+-------+-------------------------------------------+-------------+---------+-------+------+----------------------------------------------+

2 rows in set (0.00 sec)

 

 

Czy z tego można coś wywnioskowac ? Czy powinienem stworzyć jakies nowe indeksy ? czy może rozpatrywać uszkodzenie istniejących ?

 

Jak robię : mysqlcheck -o , to

 

przelatuje tabele, przy większości pisze "Table is already up to date" a m.in. przy tych z zapytania podaje "OK" - czy to sugeruje, że coś z nimi robi ? optymalizuje ? poprawia indeksy ?

 

Pytam o tyle, bo nie znam się wogóle na mysqlu - douczam się googlując.

 

Ale oczywiście przeglądałeś już forum.joomla.pl :)

 

to forum jakoś biednie mi wygląda, raczej szukam odpowiedzi googlując.

 

 

M

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A ja mam taką sytuacje w logach (powtarza sie to zapytanie z roznymi czasami wykonania)

 

# Time: 080414 20:37:51

# User@Host: lxxxxxx] @ localhost []

# Query_time: 237 Lock_time: 0 Rows_sent: 0 Rows_examined: 0

UPDATE enjoy SET wyswietlen = wyswietlen+1 WHERE id = '2289';

# Time: 080414 22:56:09

# User@Host: lxxxxxx] @ localhost []

# Query_time: 5 Lock_time: 0 Rows_sent: 0 Rows_examined: 0

UPDATE enjoy SET wyswietlen = wyswietlen+1 WHERE id = '3650';

 

 

wie ktos czemu tak sie dzieje?;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość papaj

Podstawa optymalizacji baz sa klucze i indexy.

@bob3k, w twoim przypadku wyglada na to, ze zapytanie samo nie wie czego szuka ;-) domniemam ze jest to wina '+1' jednak nie jestem specjalista do spraw optymalizacji samych baz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość papaj

Ale

Rows_examined: 0

jest jednoznaczne ;) wiec jest tu cos nie tak bezapelacyjnie ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×