sql >> Databáze >  >> RDS >> Mysql

Preferovaný engine MySQL – MyISAM nebo InnoDB

Většinu času trávím prací s klienty na komplexní kontrole výkonu databáze . Nejlepší na zapojení do kontroly zdravotního stavu je, že potkávám mnoho nových lidí a sdílím spoustu různých příběhů. Nedávno se mě jeden z DBA, který také pracuje na MySQL spolu s SQL Serverem, zeptal, jaký je můj preferovaný engine pro MySQL – MyISAM nebo InnoDB?

Myslím, že je to velmi zajímavá otázka, kterou si položit v roce 2019, protože se domnívám, že samotný tým MySQL již o této otázce rozhodl od verze MySQL 5.5. Již vybrali InnoDB jako svůj výchozí engine od MySQL 5.5.

Zde je mých hlavních pět důvodů, proč jít s InnoDB

  • InnoDB podporuje zamykání na úrovni řádků, které je rozhodující pro výkon. MyISAM podporuje pouze zamykání na úrovni tabulky, což vytváří velké úzké hrdlo, když je tabulka často aktualizována.
  • InnoDB implementuje transakce, které jsou kritické pro kritické databázové aplikace, které se podílejí na bankovnictví i elektronickém obchodování.
  • InnoDB podporuje omezení vztahu jako cizí klíče, díky čemuž je přátelštější k relační databázi oproti MyISAM, která žádnou nepodporuje.
  • InnoDB podporuje transakce ACID (Atomicity, Consistency, Isolation, Durability), takže je plně v souladu s pravidly RDBMS, která MyISAM nepodporuje.
  • InnoDB spravuje indexy a základní tabulku pomocí správce úložiště interně s vyrovnávací pamětí, což je z hlediska výkonu extrémně efektivní. MyISAM používá diskové soubory primárně pro základní tabulku, která není optimalizována pro výkon.

Můj návrh je, že pokud musíte provést výběr enginu, buď nechte své MySQL rozhodnout o výchozím enginu, nebo vyberte InnoDB, který má nejnovější funkce RDBMS.

Právě píšu o tomto tématu whitepaper, jakmile bude whitepaper zveřejněn, budu ho sdílet s vámi všemi, abyste si o něm mohli přečíst.


  1. Jak rozdělit řetězec v Oracle

  2. Jak používat Návrhář dotazů v SQL Server

  3. Úvod do SQL Server 2017

  4. Potřebujete pomoc s výpočtem pomocí dvou sad dat pomocí Expression SSRS