Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Preferowany silnik MySQL – MyISAM lub InnoDB

Większość czasu spędzam pracując z moimi klientami nad Kompleksową kontrolą stanu wydajności bazy danych . Najlepszą częścią zaangażowania w kontrolę zdrowia jest to, że poznaję wielu nowych ludzi i dzielę się wieloma różnymi historiami. Niedawno zostałem zapytany przez jednego z administratorów baz danych, który również pracuje nad MySQL wraz z SQL Server, jaki jest mój preferowany silnik dla MySQL – MyISAM czy InnoDB?

Myślę, że to bardzo interesujące pytanie, które można zadać w 2019 roku, ponieważ uważam, że sam zespół MySQL podjął już taką decyzję od czasu MySQL w wersji 5.5. Wybrali już InnoDB jako domyślny silnik od MySQL 5.5.

Oto pięć moich głównych powodów, dla których zdecydowałem się na InnoDB

  • InnoDB obsługuje blokowanie na poziomie wiersza, co ma kluczowe znaczenie dla wydajności. MyISAM obsługuje tylko blokowanie na poziomie tabeli, tworząc ogromne wąskie gardło, gdy Twoja tabela jest często aktualizowana.
  • InnoDB implementuje transakcje, które są krytyczne w aplikacji bazodanowej o znaczeniu krytycznym, która jest zaangażowana w bankowość i handel elektroniczny.
  • InnoDB obsługuje ograniczenia relacji, takie jak klucze obce, co czyni go bardziej przyjaznym relacyjnej bazy danych w porównaniu z MyISAM, który nie obsługuje żadnego.
  • InnoDB obsługuje transakcje ACID (Atomity, Consistency, Isolation, Durability), dzięki czemu jest w pełni zgodny z regułami RDBMS, których MyISAM nie obsługuje.
  • InnoDB zarządza indeksami i tabelą bazową za pomocą wewnętrznego menedżera pamięci masowej z pulą buforów pamięci, co jest niezwykle wydajne pod względem wydajności. MyISAM używa plików dyskowych głównie dla tabeli bazowej, która nie jest zoptymalizowana pod kątem wydajności.

Moja sugestia jest taka, że ​​jeśli musisz dokonać wyboru silnika, albo pozwól, aby MySQL wybrał domyślny silnik, albo wybierz InnoDB, która ma najnowsze funkcje RDBMS.

Obecnie piszę artykuł na ten temat, po jego opublikowaniu podzielę się nim z wami, abyście mogli o nim przeczytać.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyzwalacz ognia MySQL zarówno dla wstawiania, jak i aktualizacji

  2. Jak połączyć się z bazą danych MySQL lub MariaDB

  3. Jak podłączyć mysql workbench do uruchamiania mysql w dockerze?

  4. Symulacja polecenia ORDER BY FIELD() MySQL w Postgresql

  5. MySQL wyświetla wydajność