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

MySQL Preferred Engine – MyISAM eller InnoDB

Det meste af min tid går med at arbejde sammen med mine klienter på det omfattende sundhedstjek af databaseydelse . Den bedste del af sundhedstjekket er, at jeg møder mange nye mennesker og deler mange forskellige historier. For nylig blev jeg spurgt af en af ​​de DBA'er, der også arbejder på MySQL sammen med SQL Server, hvad er min foretrukne motor til MySQL – MyISAM eller InnoDB?

Jeg synes, det er et meget interessant spørgsmål at stille i år 2019, da jeg tror, ​​at MySQL-teamet selv allerede har truffet beslutningen om dette, siden MySQL version 5.5. De har allerede valgt InnoDB som deres standardmotor siden MySQL 5.5.

Her er mine primære fem grunde til at gå med InnoDB

  • InnoDB understøtter låsning på rækkeniveau, hvilket er afgørende for ydeevnen. MyISAM understøtter kun låsning på bordniveau, hvilket skaber en stor flaskehals, når din tabel opdateres ofte.
  • InnoDB implementerer transaktioner, som er kritiske på missionskritiske databaseapplikationer, som er involveret i såvel bankvirksomhed som e-handel.
  • InnoDB understøtter relationsbegrænsninger som fremmednøgler, hvilket gør den mere relationel databasevenlig over MyISAM, som ikke understøtter nogen.
  • InnoDB understøtter ACID-transaktioner (Atomicity, Consistency, Isolation, Durability), hvilket gør den fuldt ud kompatibel med RDBMS-regler, som MyISAM ikke understøtter det.
  • InnoDB administrerer indekser og basistabel ved hjælp af lagerstyring internt med hukommelsesbufferpulje, hvilket er ekstremt effektivt med hensyn til ydeevne. MyISAM bruger primært diskfiler til basistabellen, som ikke er optimeret til ydeevne.

Mit forslag er, at hvis du skal vælge motoren, lader du enten din MySQL bestemme standardmotoren eller vælger InnoDB, som har de nyeste funktioner i RDBMS.

Jeg er i øjeblikket ved at skrive et whitepaper om dette emne, når whitepaperet er udgivet, vil jeg dele det med jer alle, så I kan læse det om det.


  1. MySQL Performance Tuning Tips til at optimere databasen

  2. Bedste praksis:Vedligeholdelses- og forbedringsopgaver for Oracle Cloud

  3. Sammenkæd værdier baseret på ID

  4. 4 typer oplysninger, der skal inkluderes i din CRM-database