Przejdź do treści

MySQL – optymalizacja i wydajność

O pracy MySQL DBA – przemyślenia administratora

Archiwa

Archiwa z daty Luty, 2011

MySQL, aby przyspieszyć wgrywanie danych udostępnia przydatną funkcję – wyłącza indeksy. Dzięki temu, podczas wgrywania danych do tabeli nie ma potrzeby przebudowywania struktury indeksu po każdym INSERTcie. Po wgraniu danych włączamy obsługę indeksów i są one odbudowywane raz, w momencie gdy wszystkie dane są już na miejscu w tabeli.
czytaj dalej…

Czasami zdarza się sytuacja, w której trzeba szybko przenieść dane z serwera na serwer. Wykonanie zrzutu i wgranie go niestety trwa. Co można zrobić aby przyspieszyć ten proces? Rozwiązaniem jest po prostu przegranie plików z serwera na serwer. Zazwyczaj rsync plików z danymi pomiędzy serwerami będzie znacznie szybszy niż dump/reload. Jak to wygląda w praktyce i na co trzeba uważać?
czytaj dalej…

Co pewien czas natykam się na slowlogi z zapytaniami typu:

DESCRIBE tabela;
SHOW COLUMNS FROM tabela;
# administrator command: Ping;

Skąd się one pojawiają, skoro twórca aplikacji nie przypomina sobie, aby tego typu zapytania generował?

czytaj dalej…

W poprzednim poście opisywałem w jaki sposób skonfigurować replikację pomiędzy serwerami MySQL w sytuacji, gdy oba serwery są puste. Wiemy, że do skonfigurowania replikacji potrzebujemy informacje o tym, w którym miejscu binlogów powinna się ona rozpocząć. Dziś bardziej życiowy problem – mamy jeden serwer na którym produkcyjnie działa jakaś baza danych. Tą bazę chcemy replikować. Jak się za to zabrać? Problem sprowadza się do tego, że trzeba uzyskać na slave dokładny obraz bazy mastera dla danego, konkretnego miejsca w binlogu. Nie jeden INSERT później, czy też wcześniej. Co można zrobić?
czytaj dalej…

Chwilę temu na tym blogu pojawiły się dwa posty (ten i ten), które opisywały zasadę działania mechanizmu replikacji zastosowanego w MySQL. Pisałem tam, że zajmiemy się także tym, w jaki sposób konfiguruje się serwery MySQL aby replikacja działała poprawnie. Zajmiemy się tym dziś właśnie.

czytaj dalej…