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

Hvornår skal man bruge MyISAM og InnoDB?

Læs om Storage Engines .

MyISAM:

MyISAM lagringsmotor i MySQL.

  • Enklere at designe og skabe, og dermed bedre for begyndere. Ingen bekymringer om de udenlandske relationer mellem tabeller.
  • Hurtigere end InnoDB i det hele taget som et resultat af den enklere struktur og dermed meget mindre omkostninger til serverressourcer. -- For det meste ikke længere sandt.
  • Fuldtekstindeksering. -- InnoDB har det nu
  • Særlig god til læsetunge (udvalgte) tabeller. -- For det meste ikke længere sandt.
  • Diskfodaftryk er 2x-3x mindre end InnoDB's. -- Fra version 5.7 er dette måske den eneste reelle fordel ved MyISAM.

InnoDB:

InnoDB lagringsmotor i MySQL.

  • Støtte til transaktioner (der giver dig støtte til ACID ejendom).
  • Låsning på rækkeniveau. At have en mere finkornet låsemekanisme giver dig større samtidighed sammenlignet med for eksempel MyISAM .
  • Begrænsninger for fremmednøgle. Giver dig mulighed for at lade databasen sikre integriteten af ​​databasens tilstand og relationerne mellem tabeller.
  • InnoDB er mere modstandsdygtig over for tabelkorruption end MyISAM.
  • Understøttelse af stor bufferpulje til både data og indekser. MyISAM-nøglebuffer er kun til indekser.
  • MyISAM er stillestående; alle fremtidige forbedringer vil være i InnoDB. Dette blev gjort helt klart med udrulningen af ​​version 8.0.

MyISAM-begrænsninger:

  • Ingen fremmednøgler og overlappende sletninger/opdateringer
  • Ingen transaktionsintegritet (ACID-overholdelse)
  • Ingen rollback-evner
  • 4.284.867.296 rækkegrænse (2^32) -- Dette er gammel standard . Den konfigurerbare grænse (for mange versioner) har været 2**56 bytes.
  • Maksimalt 64 indekser pr. tabel

InnoDB-begrænsninger:

  • Ingen fuldtekstindeksering (under 5.6 mysql-version)
  • Kan ikke komprimeres til hurtig, skrivebeskyttet (5.5.14 introduceret ROW_FORMAT=COMPRESSED )
  • Du kan ikke reparere en InnoDB-tabel

For en kort forståelse, læs nedenstående links:

  1. MySQL Engines:InnoDB vs. MyISAM – En sammenligning af fordele og ulemper
  2. MySQL Engines:MyISAM vs. InnoDB
  3. Hvad er de vigtigste forskelle mellem InnoDB og MyISAM?
  4. MyISAM versus InnoDB
  5. Hvad er forskellen mellem MyISAM og InnoDB?
  6. MySql:MyISAM vs. Inno DB!


  1. Sådan sender du en POST-anmodning med formulardata og parametre i PL/SQL

  2. Jeg har opgraderet SQL Server ODBC-driveren, og ydeevnen er blevet negativt påvirket. Hvad kan jeg gøre?

  3. Får [archiver] ikke-understøttet version (1.13) i filhovedet, når du kører pg_restore

  4. Vælge værdier, der opfylder forskellige betingelser på forskellige rækker?