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