MySQL, který si vybrat mezi Innodb a Myisam

Obsah

Úložný modul je zodpovědný za ukládání, manipulaci a načítání informací z tabulky. Nejznámějšími motory jsou MyISAM a InnoDB. Volba jednoho nebo druhého bude hodně záviset na scénáři, kde je aplikován.
Cílem této volby je dosáhnout nejlepšího poměru kvality v souladu s naší aplikací. Pokud potřebujeme transakce, cizí klíče a zámky, budeme muset zvolit InnoDB. MyISAM naopak zvolíme v těch případech, ve kterých převládají SELECT dotazy do databáze.
InnoDB poskytuje MySQL transakční úložný stroj (kompatibilní s ACID) s možnostmi potvrzení, vrácení a obnovy po havárii. InnoDB provádí zámky na úrovni řádků a také poskytuje neuzamykatelné konzistentní funkce čtení na příkazech SELECT ve stylu Oracle. Tyto funkce zvyšují výkon a schopnost spravovat více souběžných uživatelů. V InnoDB není vyžadován zmenšený zámek, protože zámky na úrovni řádků zabírají velmi málo místa. InnoDB také podporuje omezení FOREIGN KEY. V SQL dotazech, dokonce v rámci stejného dotazu, mohou být tabulky typu InnoDB volně zahrnuty do tabulek jiných typů.
MyISAM je výchozí motor. Chcete -li vytvořit tabulku InnoDB, musí být v příkazu SQL pro vytvoření tabulky zadána možnost ENGINE = InnoDB nebo TYPE = InnoDB:
CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Výhody používání InnoDB
Podpora transakcí
Uzamčení záznamů
Umožňuje nám mít vlastnosti ACID (Atomicita, Konzistence, Izolace a trvanlivost: Atomicita, Konzistence, Izolace a trvanlivost ve španělštině), což zaručuje integritu našich desek.
Je pravděpodobné, že pokud naše aplikace vysoce využívá INSERT a UPDATE, zaznamenáme zvýšení výkonu ve srovnání s MyISAM.
Výhody používání MyISAM
Celkově rychlejší obnova dat.
Doporučeno pro aplikace, které dominují příkazům SELECT před INSERT / UPDATE.
Absence charakteristik atomicity, protože nemusí provádět referenční kontroly integrity nebo uzamykat tabulky k provádění operací, to nás, stejně jako předchozí body, vede k vyšší rychlosti.
Storage engine (storage-engine) je zodpovědný za ukládání, manipulaci a načítání informací z tabulky. Nejznámějšími motory jsou MyISAM a InnoDB. Volba jednoho nebo druhého bude hodně záviset na scénáři, kde je aplikován, ale arsys.es nám chce pomoci lépe porozumět těmto známým úložným motorům.
Cílem této volby je dosáhnout nejlepšího poměru kvality v souladu s naší aplikací. Pokud potřebujeme transakce, cizí klíče a zámky, budeme muset zvolit InnoDB. MyISAM naopak zvolíme v těch případech, ve kterých převládají SELECT dotazy do databáze.
InnoDB poskytuje MySQL transakční úložný stroj (kompatibilní s ACID) s možnostmi potvrzení, vrácení a obnovy po havárii. InnoDB provádí zámky na úrovni řádků a také poskytuje neuzamykatelné konzistentní funkce čtení na příkazech SELECT ve stylu Oracle. Tyto funkce zvyšují výkon a schopnost spravovat více souběžných uživatelů. V InnoDB není vyžadován zmenšený zámek, protože zámky na úrovni řádků zabírají velmi málo místa. InnoDB také podporuje omezení FOREIGN KEY. V SQL dotazech, dokonce v rámci stejného dotazu, mohou být tabulky typu InnoDB volně zahrnuty do tabulek jiných typů.
MyISAM je výchozí motor. Chcete -li vytvořit tabulku InnoDB, musí být v příkazu SQL pro vytvoření tabulky zadána možnost ENGINE = InnoDB nebo TYPE = InnoDB:
CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Výhody používání InnoDB
Podpora transakcí, uložených procedur, spouštěčů
Uzamčení záznamů
Umožňuje nám mít vlastnosti ACID (Atomicita, Konzistence, Izolace a trvanlivost: Atomicita, Konzistence, Izolace a trvanlivost ve španělštině), což zaručuje integritu našich desek.
Je pravděpodobné, že pokud naše aplikace vysoce využívá INSERT a UPDATE, zaznamenáme zvýšení výkonu ve srovnání s MyISAM.
Výhody používání MyISAM
Celkově rychlejší obnova dat.
Doporučeno pro aplikace, které dominují příkazům SELECT před INSERT / UPDATE.
Absence charakteristik atomicity, protože nemusí provádět referenční kontroly integrity nebo uzamykat tabulky k provádění operací, to nás, stejně jako předchozí body, vede k vyšší rychlosti.
Bude váš stůl přijímat INSERT, UPDATE a DELETE mnohem déle, než bude dotazován?
Dáváte přednost nebo vyžadujete návrh relační databáze?
Je vhodné používat InnoDB
Budete muset provádět fulltextové vyhledávání?
Je místo na disku nebo paměť problém?

Váš motor musí být MyISAMLíbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod
wave wave wave wave wave