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

MySql:MyISAM kontra Inno DB!

Główną różnicą jest to, że InnoDB obsługuje transakcje, podczas gdy MyISAM nie.

Istnieje wiele innych różnic, jednak te wspólne, o których wiem, to:

  • MyISAM jest zwykle uważany za szybszy w wyszukiwaniu, ale ostatnie ulepszenia InnoDB usuwają tę różnicę i poprawiają wydajność obciążenia o wysokiej współbieżności
  • InnoDB obsługuje transakcje, podczas gdy MyISAM nie
  • InnoDB wspiera integralność referencyjną, podczas gdy MyISAM nie
  • InnoDB obsługuje indeksy nieco inaczej, przechowując klucz podstawowy jako część każdego indeksu (co sprawia, że ​​indeksy zajmują więcej miejsca na dysku, ale także zwiększa prawdopodobieństwo indeksu pokrywającego)
  • MyISAM blokuje na poziomie tabeli, podczas gdy InnoDB może blokować na poziomie wiersza
  • W plikach konfiguracyjnych MySQL używane są różne ustawienia pamięci/bufora/indeksu
  • Zwykle mówi się, że InnoDB ma lepsze odzyskiwanie po awarii
  • Jak wspomniano w innej odpowiedzi, dane są przechowywane na dysku w inny sposób. Uważam, że InnoDB można konfigurować w tym obszarze i w razie potrzeby może mieć jeden plik na tabelę itp.

Jestem pewien, że wyszukiwarka Google lub witryna MySQL pokażą wiele innych różnic bardziej szczegółowo.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy MySQL indeksuje kolumny kluczy obcych automatycznie?

  2. Jak wykonać kopię zapasową baz danych MySQL za pomocą zadań cron

  3. Jak działa funkcja POSITION() w MySQL

  4. Przekazywanie tablicy do zapytania za pomocą klauzuli WHERE

  5. Jak sprawdzić bazę danych MySQL i rozmiary tabel