start: wyłączenie odpowiedzialności
Nie jestem serwerem MySql DBA; Znam głównie MSSQL - dlatego potrzebuję twojej pomocy.
koniec: wyłączenie odpowiedzialności
Poproszono mnie o sprawdzenie, dlaczego silnik serwera MySql działa słabo - nie widziałem ani nie zatrzymałem zaangażowanych baz danych i chciałbym wiedzieć, od czego zacząć.
Gdzie zaczynam?
Jakie pytania powinienem zadawać tym, którzy mają dostęp do MySql - nawet nie wiem, czy używają phpmyadmin lub innego narzędzia.
Głównie:
- O jakie przedmioty mam prosić i jak mam odpowiedzieć na każdy kawałek, który dają?
O jakie kluczowe elementy należy zapytać, kiedy problem dotyczy wydajności bazy danych?
w MSSQL mogę sprawdzić sp_who2
istniejące połączenia, aby zobaczyć, czy coś blokuje, jaki jest odpowiednik w mysql? * nie muszą być szczegółowe, ponieważ dla każdego elementu może być wiele rodzajów wyników, ale chciałbym pomóc w uruchomieniu kuli, ponieważ wpływa ona na użytkowników - najwyraźniej ustawili silnik mysql bez posiadania dba na pokładzie.
źródło
Odpowiedzi:
Rejestruj wolne zapytania - jeśli twój system ma mnóstwo zapytań, trudniej jest dowiedzieć się, które zapytania spowalniają Twój system. MySQL zapewnia narzędzie do rejestrowania wolnych zapytań do dalszej analizy http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html
EXPLAIN Rozszerzone polecenie pokazuje szczegóły dotyczące twoich zapytań, gdy nie masz pojęcia, co się dzieje http://dev.mysql.com/doc/refman/5.0/en/explain-extended.html
Procedura_Analyse () może pomóc w znalezieniu optymalnych typów danych:
http://www.mysqlperformanceblog.com/2009/03/23/procedure-analyse/
http://dev.mysql.com/doc/refman/5.0/en/procedure-analyse.html
źródło