Innehållsförteckning
Lagringsmotorn ansvarar för att lagra, hantera och hämta information från en tabell. De mest kända motorerna är MyISAM och InnoDB. Valet av det ena eller det andra beror mycket på scenariot där det tillämpas.Valet är avsett att uppnå det bästa kvalitetsförhållandet i enlighet med vår applikation. Om vi behöver transaktioner, utländska nycklar och lås måste vi välja InnoDB. Tvärtom kommer vi att välja MyISAM i de fall då SELECT -frågor till databasen dominerar.
InnoDB förser MySQL med en transaktionslagringsmotor (ACID -kompatibel) med funktioner för återställning, återställning och kraschåterställning. InnoDB utför lås på radnivå och tillhandahåller även konsekventa läsfunktioner i Oracle-stil i SELECT-satser. Dessa funktioner ökar prestandan och möjligheten att hantera flera samtidiga användare. Ett skalat lås krävs inte i InnoDB eftersom lås på radnivå tar väldigt lite plats. InnoDB stöder också begränsningar i FOREIGN KEY. I SQL -frågor, även inom samma fråga, kan tabeller av typen InnoDB fritt inkluderas i tabeller av andra typer.
MyISAM är standardmotorn. För att skapa en InnoDB -tabell måste alternativet ENGINE = InnoDB eller TYPE = InnoDB anges i tabellskapande SQL -sats:
SKAPA TABELLKunder (a INT, b CHAR (20), INDEX (a)) MOTOR = InnoDB; SKAPA TABELLKunder (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;
Fördelar med att använda InnoDB
Transaktionsstöd
Låser poster
Det tillåter oss att ha syraegenskaperna (atomitet, konsistens, isolering och hållbarhet: atomicitet, konsistens, isolering och hållbarhet på spanska), vilket garanterar integriteten hos våra styrelser.
Det är troligt att om vår applikation använder INSERT och UPDATE i hög grad kommer vi att märka en prestandaökning jämfört med MyISAM.
Fördelar med att använda MyISAM
Sammantaget snabbare dataräddning.
Rekommenderas för applikationer som dominerar SELECT -satserna före INSERT / UPDATE.
Frånvaron av atomicitetsegenskaper eftersom det inte behöver göra referensintegritetskontroller eller låsa borden för att utföra operationerna, leder detta oss, liksom de tidigare punkterna, till en högre hastighet.
Lagringsmotorn (lagringsmotorn) ansvarar för att lagra, hantera och hämta information från en tabell. De mest kända motorerna är MyISAM och InnoDB. Valet av det ena eller det andra beror mycket på scenariot där det tillämpas, men arsys.es vill hjälpa oss att bättre förstå dessa välkända lagringsmotorer.
Valet är avsett att uppnå det bästa kvalitetsförhållandet i enlighet med vår applikation. Om vi behöver transaktioner, utländska nycklar och lås måste vi välja InnoDB. Tvärtom kommer vi att välja MyISAM i de fall då SELECT -frågor till databasen dominerar.
InnoDB förser MySQL med en transaktionslagringsmotor (ACID -kompatibel) med funktioner för återställning, återställning och kraschåterställning. InnoDB utför lås på radnivå och tillhandahåller även konsekventa läsfunktioner i Oracle-stil i SELECT-satser. Dessa funktioner ökar prestandan och möjligheten att hantera flera samtidiga användare. Ett skalat lås krävs inte i InnoDB eftersom lås på radnivå tar väldigt lite plats. InnoDB stöder också begränsningar i FOREIGN KEY. I SQL -frågor, även inom samma fråga, kan tabeller av typen InnoDB fritt inkluderas i tabeller av andra typer.
MyISAM är standardmotorn. För att skapa en InnoDB -tabell måste alternativet ENGINE = InnoDB eller TYPE = InnoDB anges i tabellskapande SQL -sats:
SKAPA TABELLKunder (a INT, b CHAR (20), INDEX (a)) MOTOR = InnoDB; SKAPA TABELLKunder (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;
Fördelar med att använda InnoDB
Stöd för transaktioner, lagrade procedurer, triggers
Låser poster
Det tillåter oss att ha syraegenskaperna (atomitet, konsistens, isolering och hållbarhet: atomicitet, konsistens, isolering och hållbarhet på spanska), vilket garanterar integriteten hos våra styrelser.
Det är troligt att om vår applikation använder INSERT och UPDATE i hög grad kommer vi att märka en prestandahöjning jämfört med MyISAM.
Fördelar med att använda MyISAM
Sammantaget snabbare dataräddning.
Rekommenderas för applikationer som dominerar SELECT -satserna före INSERT / UPDATE.
Frånvaron av atomicitetsegenskaper eftersom det inte behöver göra referensintegritetskontroller eller låsa borden för att utföra operationerna, leder detta oss, liksom de tidigare punkterna, till en högre hastighet.
Kommer ditt bord att få INSERT, UPDATE och DELETE mycket längre än det kommer att efterfrågas?
Föredrar eller kräver du relationsdatabasdesign?
Det är bekvämt att använda InnoDB
Behöver du göra fulltextsökningar?
Är diskutrymme eller minne ett problem?
Din motor måste vara MyISAMGillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng