mario1973 0 Zgłoś post Napisano Luty 14, 2008 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
MasterNETpl 100 Zgłoś post Napisano Luty 14, 2008 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
mario1973 0 Zgłoś post Napisano Luty 14, 2008 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
b0b3k 0 Zgłoś post Napisano Kwiecień 16, 2008 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 Zgłoś post Napisano Kwiecień 16, 2008 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
b0b3k 0 Zgłoś post Napisano Kwiecień 16, 2008 tzn ma zwiększac o 1 wyświetlenia juz istniejące dla danego rekordu z danym id... ;-) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość papaj Zgłoś post Napisano Kwiecień 16, 2008 No wlasnie i chyba problem w tym ze nie sprawdza nieistniejacych Udostępnij ten post Link to postu Udostępnij na innych stronach
b0b3k 0 Zgłoś post Napisano Kwiecień 16, 2008 tzn te rekordy co dalem w logu są w bazie Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość papaj Zgłoś post Napisano Kwiecień 16, 2008 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