jak zmniejszyć rozmiar bazy danych MySQL?

oprogramowanie bazodanowe, takie jak MySQL, często wykorzystuje różne techniki, aby przyspieszyć wyszukiwanie i dostarczanie żądanych informacji. W większości przypadków techniki te przyjmują formę tymczasowych baz danych, które są tworzone, aby służyć jako półprodukty i pomóc w szybszym pobieraniu żądanych danych. Jedynym minusem tych dodatkowych baz danych jest to, że będą one zużywać dodatkowe miejsce na dysku. W tym artykule pokażemy Ci różne sposoby zmniejszania rozmiaru bazy danych MySQL.

jak zmniejszyć rozmiar bazy danych MySQL?

istnieją dwa szerokie podejścia, które można podjąć, aby zmniejszyć rozmiar bazy danych MySQL. Możesz spróbować zoptymalizować strukturę bazy danych lub usunąć niepotrzebne dane. Poniżej omówimy obie techniki bardziej szczegółowo.

jak działa Optymalizacja dla bazy danych MySQL?

jak wspomnieliśmy wcześniej, bazy danych MySQL często tworzą wewnętrzne tabele w celu przyspieszenia zapytań wyszukiwania. Jednak te dodatkowe tabele stają się mniej skuteczne w miarę dodawania nowych danych i zmiany istniejących wpisów. W związku z tym dobrym pomysłem jest od czasu do czasu optymalizacja bazy danych. Nie tylko zmniejszysz ogólny rozmiar bazy danych,ale prawdopodobnie również zwiększysz wydajność!

masz dwie opcje, jeśli chodzi o optymalizację bazy danych na naszej wspólnej platformie hostingowej. Możesz użyć naszego optymalizatora 1-click, który jest częścią naszego menedżera baz danych lub możesz bardziej praktycznie korzystać z narzędzi dostarczanych przez phpMyAdmin.

jak zoptymalizować bazę danych MySQL za pomocą Menedżera baz danych?

możesz łatwo i szybko zoptymalizować wszystkie tabele w danej bazie danych MySQL dzięki sekcji Menedżer baz danych w naszym Panelu sterowania. Menedżer baz danych będzie dostępny dla Ciebie, jeśli korzystasz z naszego bezpłatnego hostingu strony internetowej, współdzielonego hostingu premium lub jednego z naszych pół-dedykowanych serwerów internetowych. Aby zoptymalizować bazę danych, wykonaj następujące kroki:

  1. przejdź do sekcji Menedżer baz danych w naszym Panelu sterowania.
  2. kliknij na nazwę bazy danych, którą chcesz zoptymalizować.
  3. Otwórz kartę Zarządzanie.
  4. kliknij na opcję 1-Click Optimization.
możesz zmniejszyć rozmiar bazy danych MySQL jednym kliknięciem Dzięki opcji optymalizacji w naszym Menedżerze baz danych.
możesz zmniejszyć rozmiar bazy danych MySQL jednym kliknięciem Dzięki opcji optymalizacji w naszym Menedżerze baz danych.

po wykonaniu powyższych czynności wszystkie tabele w bazie danych zostaną zoptymalizowane. Pamiętaj, że nasze statystyki użycia bazy danych nie są aktualizowane w czasie rzeczywistym, więc możesz nie zauważyć natychmiastowej różnicy w użyciu bazy danych. Aby dowiedzieć się więcej o różnych funkcjach naszego menedżera baz danych, możesz przejść do naszego kompletnego przewodnika po Menedżerze baz danych.

jak zoptymalizować tabele bazy danych MySQL za pomocą phpMyAdmin?

w przeciwieństwie do naszego menedżera bazy danych, który optymalizuje wszystkie tabele za jednym zamachem, phpMyAdmin daje znacznie bardziej szczegółową kontrolę, jeśli chodzi o to, które tabele powinny być zoptymalizowane, a które tabele powinny pozostać niezmienione. Poniżej omówimy dwie techniki zmniejszania rozmiarów tabel za pomocą phpMyAdmin: opcję Optymalizuj, a także kompresję danych z tabel wykorzystujących silnik pamięci masowej InnoDB.

oprócz optymalizacji tabeli, phpMyAdmin zapewnia mnóstwo innych opcji, które mogą okazać się przydatne. Możesz dowiedzieć się więcej o tym przydatnym narzędziu w naszym przeglądzie phpMyAdmin.

jak zmniejszyć rozmiar tabeli za pomocą funkcji optymalizacji w phpMyAdmin?

wykonaj poniższe czynności, aby zoptymalizować tabele w bazie danych MySQL za pomocą funkcji optymalizacji w phpMyAdmin:

  1. otwórz sekcję Menedżer baz danych w Panelu sterowania.
  2. kliknij na nazwę bazy danych, którą chcesz zoptymalizować.
  3. Otwórz kartę Zarządzanie.
  4. kliknij na opcję phpMyAdmin, jak pokazano poniżej:
możesz łatwo uzyskać dostęp do narzędzia phpMyAdmin, korzystając z łącza na karcie Zarządzanie naszego menedżera baz danych.
możesz łatwo uzyskać dostęp do narzędzia phpMyAdmin, korzystając z łącza na karcie Zarządzanie naszego menedżera baz danych.
  1. phpMyAdmin otworzy się teraz w nowej karcie i zostanie wyświetlona lista tabel składających się na bazę danych. Umieść znaczniki wyboru przed tabelami, które chcesz zoptymalizować.
  2. po dokonaniu wyboru wybierz opcję Optymalizuj tabelę z menu rozwijanego. Opcja jest częścią sekcji konserwacja stołu:
/wp-content / uploads/2020/03/reduce-mysql-database-size-3.png
/ wp-content / uploads/2020/03/reduce-mysql-database-size-3.png
  1. Po wybraniu polecenia Optymalizuj tabelę zostanie ono wykonane automatycznie i powinno zostać wyświetlone polecenie Twoje zapytanie SQL zostało wykonane pomyślnie. wiadomość:
sukces! Wybrane tabele zostały zoptymalizowane.
sukces! Wybrane tabele zostały zoptymalizowane.

należy pamiętać, że opcja Optymalizuj tabelę wykonuje różne działania w zależności od silnika pamięci masowej, którego używają tabele. W związku z tym efekty tej opcji mogą się różnić w zależności od stołu. Jest to szczególnie ważne, jeśli korzystasz z różnych silników pamięci masowej i jeśli niektóre tabele są regularnie edytowane, podczas gdy inne tabele pozostają względnie niezmienione.

jak skompresować dane w bazie danych MySQL?

jak już wcześniej zauważyliśmy, różne silniki pamięci masowej mają różne zestawy funkcji. Jedną z cech wyróżniających silnik pamięci masowej InnoDB jest możliwość kompresji danych bez utraty informacji. Kompresja jest najbardziej skuteczna, jeśli tabele mają kolumny, które używają TEXT, BLO, VARCHAR, oraz VARBINARY typów danych.

aby uruchomić kompresję na danej tabeli, musisz najpierw upewnić się, że dana tabela korzysta z silnika pamięci InnoDB. Możesz znaleźć te informacje w widoku struktury bazy danych phpMyAdmin. Ten widok jest najłatwiej uzyskać, klikając nazwę bazy danych, jak pokazano na zrzucie ekranu poniżej:

kliknięcie nazwy bazy danych w phpMyAdmin przeniesie Cię do widoku struktury bazy danych.
kliknięcie nazwy bazy danych w phpMyAdmin przeniesie Cię do widoku struktury bazy danych.

gdy znajdziesz się w widoku struktura, powinieneś zobaczyć listę wszystkich tabel zawartych w bazie danych. Kolumna, która pokazuje bieżący silnik pamięci masowej, nazywa się Type i jest podświetlona poniżej:

phpMyAdmin używa nieoczywistego typu nagłówka kolumny do oznaczania silnika pamięci masowej, którego używa każda tabela.
phpMyAdmin używa nieoczywistego typu nagłówka kolumny do oznaczania silnika pamięci masowej, którego używa każda tabela.

jeśli widzisz InnoDB na liście jako silnik pamięci masowej w tabelach, które chcesz skompresować, możesz już iść. Jeśli jednak zobaczysz jakąkolwiek inną wartość, musisz przekonwertować tabelę(y), aby najpierw użyć silnika pamięci InnoDB. Konwersja odbywa się poprzez wykonanie krótkiego polecenia SQL. Aby rozpocząć, przełącz się na kartę SQL w phpMyAdmin:

karta SQL w phpMyAdmin daje Ci swobodę uruchamiania dowolnych poleceń SQL, których potrzebujesz.
karta SQL w phpMyAdmin daje Ci swobodę uruchamiania potrzebnych poleceń SQL.

wklej poniższy kod:

ALTER TABLE my_table ENGINE = InnoDB;

pamiętaj, aby zastąpić my_table nazwą tabeli, którą chcesz przekonwertować. W naszym przykładzie konwertujemy tabelę o nazwie orders, więc nasze polecenie wyglądałoby tak:

ALTER TABLE orders ENGINE = InnoDB;

po wprowadzeniu polecenia kliknij przycisk Go W prawym dolnym rogu, aby je wykonać. Jeśli się powiedzie, powinieneś otrzymać komunikat o sukcesie, taki jak pokazany poniżej:

możesz zobaczyć inny komunikat o sukcesie w zależności od zawartości tabeli, ale ogólnie powinien wyglądać podobnie do tego.
możesz zobaczyć inny komunikat o sukcesie w zależności od zawartości tabeli, ale ogólnie powinien wyglądać podobnie do tego.

jeśli chcesz przekonwertować wiele tabel na silnik pamięci InnoDB, musisz uruchomić powyższe polecenie dla każdej z nich.

teraz, gdy twoje tabele używają InnoDB, możesz przystąpić do rzeczywistej kompresji danych MySQL. Sama kompresja jest krótkim poleceniem SQL, które należy również uruchomić z karty SQL w phpMyAdmin. Oto polecenie:

ALTER TABLE my_table ROW_FORMAT=COMPRESSED;

podobnie jak w przypadku konwersji tabeli, musisz zastąpić my_table rzeczywistą nazwą tabeli. Na przykład na poniższym zrzucie ekranu kompresujemy tabelę o nazwie orders:

kompresja danych MySQL może wydawać się skomplikowana, ale w rzeczywistości jest to proste polecenie SQL, które musisz uruchomić.
kompresja danych MySQL może wydawać się skomplikowana, ale w rzeczywistości jest to proste polecenie SQL, które musisz uruchomić.

po wprowadzeniu polecenia kompresji naciśnij przycisk Go, aby je wykonać. Jeśli chcesz skompresować wiele tabel, możesz to zrobić, uruchamiając polecenie SQL dla każdej tabeli.

 jeśli wszystko pójdzie dobrze z kompresją, phpMyAdmin powinien powitać Cię Komunikatem o sukcesie podobnym do tego.
jeśli wszystko pójdzie dobrze z kompresją, phpMyAdmin powinien powitać Cię Komunikatem o sukcesie podobnym do tego.

jak usunąć tabele za pomocą phpMyAdmin?

inną alternatywą, jeśli chodzi o zwolnienie miejsca na dysku, jest usunięcie danych, których już nie potrzebujesz z bazy danych. Możesz usunąć pojedyncze wpisy lub całe tabele.

aby usunąć tabelę, po prostu przejdź do zakładki struktura bazy danych, aby zobaczyć wszystkie tabele. Następnie wybierz opcję Drop obok tabeli, którą chcesz usunąć i potwierdź swój wybór. Przed potwierdzeniem usunięcia należy dokładnie sprawdzić, czy wybrana została prawidłowa tabela, ponieważ tej czynności nie można cofnąć.

phpMyAdmin używa terminu Drop w odniesieniu do usunięcia całej tabeli.
phpMyAdmin używa terminu Drop w odniesieniu do usunięcia całej tabeli.

jeśli usunięcie całej tabeli bazy danych nie jest dla Ciebie opcją, możesz rozważyć usunięcie poszczególnych wpisów z różnych tabel, których już nie potrzebujesz. Można to osiągnąć uruchamiając różne polecenia SQL. Poniżej przedstawimy bardzo podstawowe polecenie SQL, które może usunąć pojedynczy wpis w bazie danych.

przykładowa tabela z dwoma wpisami (wierszami). Usuniemy drugi rząd.
przykładowa tabela z dwoma wpisami (wierszami). Usuniemy drugi rząd.

w tym przykładzie użyjemy powyższej tabeli z dwoma wierszami. Celem jest usunięcie drugiego rzędu przy zachowaniu pierwszego.

zauważysz, że wszystkie tabele zwykle mają kolumnę id zawierającą unikalny numer identyfikujący dany wpis. W naszym przykładzie kolumna id nazywa się id, ale tabele mogą używać innego słowa jako tytułu kolumny. Po zlokalizowaniu kolumny przechowującej unikalne identyfikatory dla każdego wpisu zanotuj wartość powiązaną z wpisem (wierszem), który chcesz usunąć. Mając te informacje pod ręką, przejdź do karty SQL i uruchom następujące polecenie SQL:

DELETE FROM my_table where id_column = 'my_id';

w powyższym kodzie będziesz musiał wykonać trzy zamienniki:

  • my_table powinien zostać zastąpiony nazwą tabeli, z której usuwasz.
  • id_column należy zastąpić nazwą kolumny przechowującej unikalne identyfikatory.
  • my_id należy zastąpić rzeczywistym identyfikatorem wiersza, który chcesz usunąć.

nasz przykład używa tabeli products. Ta tabela ma kolumnę id, a unikalny identyfikator wpisu, który chcemy usunąć, to 2. Więc nasze polecenie SQL powinno wyglądać tak:

podstawowe polecenie SQL do usuwania wpisu o określonym identyfikatorze. Dzięki wystarczającej wiedzy SQL możesz tworzyć złożone zapytania, które usuwają dane w oparciu o wiele kryteriów.
podstawowe polecenie SQL do usuwania wpisu o określonym identyfikatorze. Dzięki wystarczającej wiedzy SQL możesz tworzyć złożone zapytania, które usuwają dane w oparciu o wiele kryteriów.

po naciśnięciu przycisku Go, polecenie SQL zostanie wykonane i usunięcie zostanie zakończone. Teraz nasza tabela nie zawiera już drugiego wpisu:

zachowaj szczególną ostrożność podczas korzystania z polecenia DELETE! Przede wszystkim upewnij się, że udało Ci się zlokalizować kolumnę zawierającą unikalne identyfikatory dla tabeli.
zachowaj szczególną ostrożność podczas korzystania z polecenia DELETE! Przede wszystkim upewnij się, że udało Ci się zlokalizować kolumnę zawierającą unikalne identyfikatory dla tabeli.

Jeśli korzystasz z nowoczesnego systemu zarządzania treścią, takiego jak WordPress, Drupal, Joomla lub podobnego, powinieneś rozważyć użycie narzędzi administracyjnych zaplecza CMS do zarządzania i usuwania danych. Ręczne usuwanie wpisów z bazy danych powinno być ostatecznością.

podsumowanie

jako właściciel strony internetowej zawsze dobrze jest mieć oko na wykorzystanie bazy danych. Jest to szczególnie ważne, jeśli używasz wspólnego planu hostingu i masz limit rozmiaru bazy danych. Jeśli osiągniesz limit miejsca, Twoja witryna może zacząć wyświetlać wszelkiego rodzaju ostrzeżenia i komunikaty o błędach, takie jak kłopotliwy komunikat „Wstaw polecenie odmowa użytkownikowi”.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany.