MySQL pe care să îl alegeți între Innodb și Myisam

Cuprins

Motorul de stocare este responsabil pentru stocarea, manipularea și preluarea informațiilor dintr-un tabel. Cele mai cunoscute motoare sunt MyISAM și InnoDB. Alegerea uneia sau alteia va depinde foarte mult de scenariul în care se aplică.
Alegerea este menită să obțină cel mai bun raport de calitate în conformitate cu aplicația noastră. Dacă avem nevoie de tranzacții, chei străine și blocări, va trebui să alegem InnoDB. Dimpotrivă, vom alege MyISAM în acele cazuri în care predomină interogările SELECT către baza de date.
InnoDB oferă MySQL un motor de stocare tranzacțională (compatibil ACID) cu capabilități de comitere, revenire și recuperare de blocare. InnoDB efectuează blocări la nivel de rând și oferă, de asemenea, funcții de citire consecvente în stil Oracle, fără blocare, pe instrucțiunile SELECT. Aceste caracteristici cresc performanța și capacitatea de a gestiona mai mulți utilizatori simultani. O blocare la scară nu este necesară în InnoDB, deoarece blocările la nivel de rând ocupă foarte puțin spațiu. InnoDB suportă, de asemenea, constrângerile FOREIGN KEY. În interogările SQL, chiar și în cadrul aceleiași interogări, tabelele de tip InnoDB pot fi incluse în mod liber cu tabele de alte tipuri.
MyISAM este motorul implicit. Pentru a crea un tabel InnoDB, opțiunea ENGINE = InnoDB sau TYPE = InnoDB trebuie specificată în instrucțiunea SQL de creare a tabelului:
CREATE TABLE clients (a INT, b CHAR (20), INDEX (a)) MOTOR = InnoDB; CREATE TABLE clients (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Avantajele utilizării InnoDB
Suport tranzacții
Blocarea înregistrărilor
Ne permite să avem caracteristicile ACID (atomicitate, consistență, izolare și durabilitate: atomicitate, consistență, izolare și durabilitate în spaniolă), garantând integritatea plăcilor noastre.
Este probabil ca, dacă aplicația noastră folosește intens INSERT și UPDATE, să observăm o creștere a performanței în comparație cu MyISAM.
Avantajele utilizării MyISAM
În general, recuperarea mai rapidă a datelor.
Recomandat pentru aplicațiile care domină instrucțiunile SELECT înainte de INSERT / UPDATE.
Absența caracteristicilor de atomicitate, deoarece nu trebuie să facă verificări de integritate referențiale sau să blocheze tabelele pentru a efectua operațiile, aceasta ne conduce, la fel ca punctele anterioare, la o viteză mai mare.
Motorul de stocare (motorul de stocare) este responsabil pentru stocarea, manipularea și preluarea informațiilor dintr-un tabel. Cele mai cunoscute motoare sunt MyISAM și InnoDB. Alegerea uneia sau alteia va depinde foarte mult de scenariul în care este aplicat, dar arsys.es vrea să ne ajute să înțelegem mai bine aceste motoare de stocare bine cunoscute.
Alegerea este menită să obțină cel mai bun raport de calitate în conformitate cu aplicația noastră. Dacă avem nevoie de tranzacții, chei străine și blocări, va trebui să alegem InnoDB. Dimpotrivă, vom alege MyISAM în acele cazuri în care predomină interogările SELECT către baza de date.
InnoDB oferă MySQL un motor de stocare tranzacțională (compatibil ACID) cu capabilități de comitere, revenire și recuperare de blocare. InnoDB efectuează blocări la nivel de rând și oferă, de asemenea, funcții de citire consecvente în stil Oracle, fără blocare, pe instrucțiunile SELECT. Aceste caracteristici cresc performanța și capacitatea de a gestiona mai mulți utilizatori simultani. O blocare la scară nu este necesară în InnoDB, deoarece blocările la nivel de rând ocupă foarte puțin spațiu. InnoDB suportă, de asemenea, constrângerile FOREIGN KEY. În interogările SQL, chiar și în cadrul aceleiași interogări, tabelele de tip InnoDB pot fi incluse în mod liber cu tabele de alte tipuri.
MyISAM este motorul implicit. Pentru a crea un tabel InnoDB, opțiunea ENGINE = InnoDB sau TYPE = InnoDB trebuie specificată în instrucțiunea SQL de creare a tabelului:
CREAȚI clienți TABLE (a INT, b CHAR (20), INDEX (a)) MOTOR = InnoDB; CREAȚI clienți TABLE (a INT, b CHAR (20), INDEX (a)) TIP = InnoDB;

Avantajele utilizării InnoDB
Suport pentru tranzacții, proceduri stocate, declanșatoare
Blocarea înregistrărilor
Ne permite să avem caracteristicile ACID (atomicitate, consistență, izolare și durabilitate: atomicitate, consistență, izolare și durabilitate în spaniolă), garantând integritatea plăcilor noastre.
Este probabil ca, dacă aplicația noastră folosește intens INSERT și UPDATE, să observăm o creștere a performanței în comparație cu MyISAM.
Avantajele utilizării MyISAM
În general, recuperarea mai rapidă a datelor.
Recomandat pentru aplicațiile care domină instrucțiunile SELECT înainte de INSERT / UPDATE.
Absența caracteristicilor de atomicitate, deoarece nu trebuie să facă verificări de integritate referențiale sau să blocheze tabelele pentru a efectua operațiile, aceasta ne conduce, la fel ca punctele anterioare, la o viteză mai mare.
Tabelul dvs. va primi INSERT, UPDATE și DELETE mult mai mult decât va fi interogat?
Preferați sau aveți nevoie de proiectarea bazelor de date relaționale?
Este convenabil să folosiți InnoDB
Va trebui să faceți căutări cu text integral?
Spațiul pe disc sau memoria este o problemă?

Motorul dvs. trebuie să fie MyISAMV-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave