MySQL koji izabrati između Innodba i Myisama

Sadržaj

Stroj za pohranu odgovoran je za pohranu, rukovanje i preuzimanje podataka iz tablice. Najpoznatiji motori su MyISAM i InnoDB. Odabir jednog ili drugog uvelike će ovisiti o scenariju u kojem se primjenjuje.
Odabirom se želi postići najbolji omjer kvalitete u skladu s našom primjenom. Ako su nam potrebne transakcije, strani ključevi i brave, morat ćemo odabrati InnoDB. Naprotiv, odabrat ćemo MyISAM u onim slučajevima u kojima prevladavaju upiti SELECT prema bazi podataka.
InnoDB pruža MySQL -u mehanizam za pohranu transakcija (usklađen s ACID -om) s mogućnostima urezivanja, vraćanja i obnavljanja nakon rušenja. InnoDB izvodi zaključavanja na razini retka i također pruža dosljedne funkcije čitanja u stilu Oracle bez zaključavanja na izrazima SELECT. Ove značajke povećavaju performanse i mogućnost upravljanja s više istovremenih korisnika. Skalirano zaključavanje nije potrebno u InnoDB-u jer brave na razini retka zauzimaju vrlo malo prostora. InnoDB također podržava ograničenja FOREIGN KEY. U SQL upitima, čak i unutar istog upita, tablice tipa InnoDB mogu se slobodno uključiti u tablice drugih vrsta.
MyISAM je zadani motor. Za izradu tablice InnoDB, opcija ENGINE = InnoDB ili TYPE = InnoDB mora biti navedena u SQL izrazu za izradu tablice:
CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Prednosti korištenja InnoDB -a
Podrška za transakcije
Zaključavanje zapisa
Omogućuje nam karakteristike ACID -a (atomskost, dosljednost, izolacija i trajnost: atomskost, dosljednost, izolacija i trajnost na španjolskom), što jamči integritet naših ploča.
Vrlo je vjerojatno da ćemo, ako naša aplikacija u velikoj mjeri koristi INSERT i UPDATE, primijetiti povećanje performansi u odnosu na MyISAM.
Prednosti korištenja MyISAM -a
Sveukupno brži oporavak podataka.
Preporučuje se za aplikacije koje dominiraju izrazima SELECT prije INSERT / UPDATE.
Odsustvo karakteristika atomskosti budući da ne mora raditi referentne provjere integriteta ili zaključavati tablice za izvođenje operacija, to nas dovodi, kao i prethodne točke, do veće brzine.
Stroj za skladištenje (storage-engine) odgovoran je za pohranu, rukovanje i dohvaćanje informacija iz tablice. Najpoznatiji motori su MyISAM i InnoDB. Odabir jednog ili drugog uvelike će ovisiti o scenariju u kojem se primjenjuje, ali arsys.es nam želi pomoći da bolje razumijemo te dobro poznate strojeve za pohranu.
Odabirom se želi postići najbolji omjer kvalitete u skladu s našom primjenom. Ako su nam potrebne transakcije, strani ključevi i brave, morat ćemo odabrati InnoDB. Naprotiv, odabrat ćemo MyISAM u onim slučajevima u kojima prevladavaju upiti SELECT prema bazi podataka.
InnoDB pruža MySQL -u mehanizam za pohranu transakcija (usklađen s ACID -om) s mogućnostima urezivanja, vraćanja i obnavljanja nakon rušenja. InnoDB izvodi zaključavanja na razini retka, a također nudi i dosljedne funkcije čitanja u stilu Oracle bez zaključavanja na izrazima SELECT. Ove značajke povećavaju performanse i mogućnost upravljanja s više istovremenih korisnika. Skalirano zaključavanje nije potrebno u InnoDB-u jer brave na razini retka zauzimaju vrlo malo prostora. InnoDB također podržava ograničenja FOREIGN KEY. U SQL upitima, čak i unutar istog upita, tablice tipa InnoDB mogu se slobodno uključiti u tablice drugih vrsta.
MyISAM je zadani motor. Za izradu tablice InnoDB, opcija ENGINE = InnoDB ili TYPE = InnoDB mora biti navedena u SQL izrazu za izradu tablice:
CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Prednosti korištenja InnoDB -a
Podrška transakcijama, pohranjenim procedurama, okidačima
Zaključavanje zapisa
Omogućuje nam karakteristike ACID -a (atomskost, dosljednost, izolacija i trajnost: atomskost, dosljednost, izolacija i trajnost na španjolskom), što jamči integritet naših ploča.
Vrlo je vjerojatno da ćemo, ako naša aplikacija u velikoj mjeri koristi INSERT i UPDATE, primijetiti povećanje performansi u odnosu na MyISAM.
Prednosti korištenja MyISAM -a
Sveukupno brži oporavak podataka.
Preporučuje se za aplikacije koje dominiraju izrazima SELECT prije INSERT / UPDATE.
Odsustvo karakteristika atomskosti budući da ne mora raditi referentnu provjeru integriteta ili zaključavati tablice za izvođenje operacija, to nas dovodi, kao i prethodne točke, do veće brzine.
Hoće li vaš stol primati INSERT, UPDATE i DELETE mnogo dulje nego što će biti upitan?
Volite li ili trebate dizajn relacijske baze podataka?
Prikladno je koristiti InnoDB
Hoćete li morati pretraživati ​​cijeli tekst?
Je li problem na disku ili u memoriji?

Vaš motor mora biti MyISAMJe li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod
wave wave wave wave wave