Podsumowanie: W tym poradniku poznasz różne mechanizmy przechowywania danych MySQL lub typy tabel. Ważne jest, aby zrozumieć cechy każdego mechanizmu przechowywania danych w MySQL, aby móc je efektywnie wykorzystać w celu zmaksymalizowania wydajności baz danych.
MySQL udostępnia różne mechanizmy magazynowania dla swoich tabel w następujący sposób:
- MyISAM
- InnoDB
- MERGE
- MEMORY (HEAP)
- ARCHIVE
- CSV
- FEDERATED
Każdy mechanizm magazynowania ma swoje wady i zalety. Ważne jest, aby zrozumieć cechy każdego z nich i wybrać najbardziej odpowiedni dla swoich tabel, aby zmaksymalizować wydajność bazy danych. W następnych sekcjach omówimy każdy mechanizm przechowywania danych i jego cechy, abyś mógł zdecydować, którego z nich użyć.
MyISAM
MyISAM rozszerza poprzedni mechanizm przechowywania danych ISAM. Tabele MyISAM są zoptymalizowane pod kątem kompresji i szybkości. Tabele MyISAM są również przenośne między platformami i systemami operacyjnymi.
Rozmiar tabeli MyISAM może wynosić do 256TB, co jest ogromne. Ponadto, tabele MyISAM mogą być skompresowane do tabel tylko do odczytu, aby zaoszczędzić miejsce. Podczas uruchamiania, MySQL sprawdza tabele MyISAM pod kątem uszkodzeń, a nawet naprawia je w przypadku wystąpienia błędów. Tabele MyISAM nie są bezpieczne dla transakcji.
Przed wersją 5.5 MySQL, MyISAM jest domyślnym mechanizmem przechowywania danych, gdy tworzysz tabelę bez określenia mechanizmu przechowywania danych. Od wersji 5.5 MySQL używa InnoDB jako domyślnego silnika magazynowego.
InnoDB
Tablice InnoDB w pełni obsługują zgodność z ACID oraz transakcje. Są one również optymalne pod względem wydajności. Tabele InnoDB obsługują klucze obce, operacje commit, rollback, roll-forward. Rozmiar tabeli InnoDB może wynosić do 64TB.
Podobnie jak MyISAM, tabele InnoDB są przenośne pomiędzy różnymi platformami i systemami operacyjnymi. MySQL również sprawdza i naprawia tabele InnoDB, jeśli to konieczne, podczas uruchamiania.
MERGE
Tabela MERGE jest tabelą wirtualną, która łączy wiele tabel MyISAM, które mają podobną strukturę do jednej tabeli. Silnik przechowywania MERGE jest również znany jako silnik MRG_MyISAM
. Tabela MERGE
nie ma własnych indeksów; zamiast tego używa indeksów tabel składowych.
Używając tabeli MERGE, możesz przyspieszyć wydajność podczas łączenia wielu tabel. MySQL pozwala tylko na wykonywanie operacji SELECT, DELETE, UPDATE i INSERT na MERGE
tabelach. Jeśli użyjesz instrukcji DROP TABLE
na tabeli MERGE
, tylko specyfikacja MERGE
zostanie usunięta. Nie będzie to miało wpływu na tabele bazowe.
Pamięć
Tablice pamięci są przechowywane w pamięci i używają indeksów hash, dzięki czemu są szybsze niż tabele MyISAM. Czas życia danych w tabelach pamięciowych zależy od czasu pracy serwera bazy danych. Silnik przechowywania pamięci jest wcześniej znany jako HEAP.
Archiwum
Silnik przechowywania archiwum pozwala na przechowywanie dużej liczby rekordów, które w celu archiwizacji, w skompresowanym formacie, aby zaoszczędzić miejsce na dysku. Silnik archiwum kompresuje rekord, gdy jest on wstawiany i dekompresuje go przy użyciu biblioteki zlib, gdy jest on odczytywany.
Tabele archiwum pozwalają tylko na instrukcje INSERT i SELECT. Tabele ARCHIVE
nie obsługują indeksów, więc wymagane jest pełne skanowanie tabeli w celu odczytania wierszy.
CSV
Motor przechowywania CSV przechowuje dane w formacie plików z wartościami rozdzielanymi przecinkami (CSV). Tabela CSV stanowi wygodny sposób migracji danych do aplikacji innych niż SQL, takich jak arkusze kalkulacyjne.
Tabela CSV nie obsługuje typu danych NULL. Ponadto operacja odczytu wymaga pełnego skanowania tabeli.
FEDERATED
Silnik magazynowania FEDERATED
pozwala na zarządzanie danymi ze zdalnego serwera MySQL bez użycia technologii klastra lub replikacji. Lokalna tabela sfederowana nie przechowuje żadnych danych. Gdy zapytasz o dane z lokalnej tabeli federacyjnej, dane są automatycznie pobierane ze zdalnych tabel federacyjnych.
Wybór typów tabel MySQL
Możesz pobrać następującą listę kontrolną, aby wybrać najbardziej odpowiedni silnik przechowywania lub typ tabeli na podstawie różnych kryteriów.
Silniki pamięci masowej MySQL Podsumowanie funkcji
W tym poradniku poznałeś różne silniki pamięci masowej lub typy tabel dostępne w MySQL.
- Czy ten poradnik był pomocny?
- TakNie
.