MySQL welke te kiezen tussen Innodb en Myisam

Inhoudsopgave

De opslagengine is verantwoordelijk voor het opslaan, verwerken en ophalen van informatie uit een tabel. De bekendste motoren zijn MyISAM en InnoDB. De keuze voor het een of het ander zal sterk afhangen van het scenario waarin het wordt toegepast.
De keuze is bedoeld om de beste kwaliteitsverhouding te bereiken in overeenstemming met onze toepassing. Als we transacties, buitenlandse sleutels en sloten nodig hebben, zullen we voor InnoDB moeten kiezen. Integendeel, we zullen MyISAM kiezen in die gevallen waarin SELECT-query's naar de database overheersen.
InnoDB biedt MySQL een transactionele opslag-engine (ACID-compatibel) met commit-, rollback- en crashherstelmogelijkheden. InnoDB voert vergrendelingen op rijniveau uit en biedt ook niet-vergrendelende, consistente leesfuncties in Oracle-stijl op SELECT-instructies. Deze functies verhogen de prestaties en de mogelijkheid om meerdere gelijktijdige gebruikers te beheren. Een geschaalde vergrendeling is niet vereist in InnoDB omdat vergrendelingen op rijniveau zeer weinig ruimte innemen. InnoDB ondersteunt ook FOREIGN KEY-beperkingen. In SQL-query's, zelfs binnen dezelfde query, kunnen tabellen van het type InnoDB vrij worden opgenomen met tabellen van andere typen.
MyISAM is de standaardengine. Om een ​​InnoDB-tabel te maken, moet de optie ENGINE = InnoDB of TYPE = InnoDB worden opgegeven in de SQL-instructie voor het maken van tabellen:
CREATE TABLE-klanten (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; CREATE TABLE-klanten (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Voordelen van het gebruik van InnoDB
Transactie ondersteuning
Records vergrendelen
Het stelt ons in staat om de ACID-kenmerken te hebben (Atomiciteit, Consistentie, Isolatie en Duurzaamheid: Atomiciteit, Consistentie, Isolatie en Duurzaamheid in het Spaans), waardoor de integriteit van onze borden wordt gegarandeerd.
Het is waarschijnlijk dat als onze applicatie veel gebruik maakt van INSERT en UPDATE, we een prestatieverbetering zullen merken in vergelijking met MyISAM.
Voordelen van het gebruik van MyISAM
Over het algemeen sneller gegevensherstel.
Aanbevolen voor toepassingen die de SELECT-instructies domineren vóór INSERT / UPDATE.
Afwezigheid van atomiciteitskenmerken omdat het geen referentiële integriteitscontroles hoeft uit te voeren of de tabellen hoeft te vergrendelen om de bewerkingen uit te voeren, leidt dit ons, net als de vorige punten, naar een hogere snelheid.
De storage engine (storage-engine) is verantwoordelijk voor het opslaan, verwerken en ophalen van informatie uit een tabel. De bekendste motoren zijn MyISAM en InnoDB. De keuze voor het een of het ander zal sterk afhangen van het scenario waarin het wordt toegepast, maar arsys.es wil ons helpen deze bekende storage-engines beter te begrijpen.
De keuze is bedoeld om de beste kwaliteitsverhouding te bereiken in overeenstemming met onze toepassing. Als we transacties, buitenlandse sleutels en sloten nodig hebben, zullen we voor InnoDB moeten kiezen. Integendeel, we zullen MyISAM kiezen in die gevallen waarin SELECT-query's naar de database overheersen.
InnoDB biedt MySQL een transactionele opslag-engine (ACID-compatibel) met commit-, rollback- en crashherstelmogelijkheden. InnoDB voert vergrendelingen op rijniveau uit en biedt ook niet-vergrendelende, consistente leesfuncties in Oracle-stijl op SELECT-instructies. Deze functies verhogen de prestaties en de mogelijkheid om meerdere gelijktijdige gebruikers te beheren. Een geschaalde vergrendeling is niet vereist in InnoDB omdat vergrendelingen op rijniveau zeer weinig ruimte innemen. InnoDB ondersteunt ook FOREIGN KEY-beperkingen. In SQL-query's, zelfs binnen dezelfde query, kunnen tabellen van het type InnoDB vrij worden opgenomen met tabellen van andere typen.
MyISAM is de standaardengine. Om een ​​InnoDB-tabel te maken, moet de optie ENGINE = InnoDB of TYPE = InnoDB worden opgegeven in de SQL-instructie voor het maken van tabellen:
CREATE TABLE-klanten (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; MAAK TABEL klanten (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Voordelen van het gebruik van InnoDB
Ondersteuning van transacties, opgeslagen procedures, triggers
Records vergrendelen
Het stelt ons in staat om de ACID-kenmerken te hebben (Atomiciteit, Consistentie, Isolatie en Duurzaamheid: Atomiciteit, Consistentie, Isolatie en Duurzaamheid in het Spaans), waardoor de integriteit van onze borden wordt gegarandeerd.
Het is waarschijnlijk dat als onze applicatie veel gebruik maakt van INSERT en UPDATE, we een prestatieverbetering zullen merken in vergelijking met MyISAM.
Voordelen van het gebruik van MyISAM
Over het algemeen sneller gegevensherstel.
Aanbevolen voor toepassingen die de SELECT-instructies domineren vóór INSERT / UPDATE.
Afwezigheid van atomiciteitskenmerken omdat het geen referentiële integriteitscontroles hoeft uit te voeren of de tabellen hoeft te vergrendelen om de bewerkingen uit te voeren, leidt dit ons, net als de vorige punten, naar een hogere snelheid.
Zal uw tafel INSERT, UPDATE en DELETE veel langer ontvangen dan dat er gevraagd wordt?
Geeft u de voorkeur aan of heeft u behoefte aan relationeel database-ontwerp?
Het is handig om InnoDB . te gebruiken
Moet u full-text zoekopdrachten uitvoeren?
Is schijfruimte of geheugen een probleem?

Uw motor moet MyISAM zijnVond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave