sql >> Database teknologi >  >> RDS >> Mysql

MySql:MyISAM vs. Inno DB!

Den største forskel er, at InnoDB understøtter transaktioner, mens MyISAM ikke gør det.

Der er mange andre forskelle, men den almindelige, jeg er opmærksom på, er:

  • MyISAM er typisk blevet betragtet som hurtigere til at søge, men de seneste InnoDB-forbedringer fjerner denne forskel og forbedrer ydeevnen ved høj samtidig arbejdsbelastning
  • InnoDB understøtter transaktioner, mens MyISAM ikke gør det
  • InnoDB understøtter referenceintegritet, mens MyISAM ikke gør det
  • InnoDB håndterer indekser en smule anderledes og gemmer den primære nøgle som en del af hvert indeks (får indekser optager mere plads på disken, men gør også et dækkende indeks mere sandsynligt)
  • MyISAM laver tabelniveaulåsning, mens InnoDB kan udføre rækkeniveaulåsning
  • Forskellige indstillinger for hukommelse/buffer/indeks bruges i MySQL-konfigurationsfilerne
  • InnoDB siges typisk at have bedre gendannelse af nedbrud
  • Som nævnt i et andet svar, lagres data på disken anderledes. Jeg tror, ​​at InnoDB kan konfigureres i dette område og kan have én fil pr. tabel osv., hvis det kræves

Jeg er sikker på, at en google-søgning eller MySQL-webstedet vil bringe adskillige andre forskelle frem mere detaljeret.



  1. Hvad er den korrekte SQL-type til at gemme et .Net Timespan med værdier> 24:00:00?

  2. Viser billede fra PostgreSQL-database, bytea

  3. Best Practices for MySQL-replikering

  4. PostgreSQL-databasens standardplacering på Linux