MySQL, hvilken man skal vælge mellem Innodb og Myisam

Indholdsfortegnelse

Lagermotoren er ansvarlig for at lagre, håndtere og hente oplysninger fra en tabel. De mest kendte motorer er MyISAM og InnoDB. Valget af det ene eller det andet afhænger meget af scenariet, hvor det anvendes.
Valget har til formål at opnå det bedste kvalitetsforhold i overensstemmelse med vores ansøgning. Hvis vi har brug for transaktioner, udenlandske nøgler og låse, bliver vi nødt til at vælge InnoDB. Tværtimod vil vi vælge MyISAM i de tilfælde, hvor SELECT -forespørgsler til databasen dominerer.
InnoDB giver MySQL en transaktionslagermotor (ACID -kompatibel) med funktioner til tilbagekaldelse, tilbageføring og nedbrud. InnoDB udfører låse på rækkeniveau og tilbyder også konsekvente læsefunktioner i Oracle-stil i SELECT-sætninger. Disse funktioner øger ydeevnen og muligheden for at administrere flere samtidige brugere. En skaleret lås er ikke påkrævet i InnoDB, fordi låse på rækkeniveau fylder meget lidt. InnoDB understøtter også FOREIGN KEY -begrænsninger. I SQL -forespørgsler, selv inden for den samme forespørgsel, kan tabeller af typen InnoDB frit inkluderes i tabeller af andre typer.
MyISAM er standardmotoren. For at oprette en InnoDB -tabel skal indstillingen ENGINE = InnoDB eller TYPE = InnoDB angives i SQL -sætningen for oprettelse af tabellen:
OPRET TABEL -kunder (a INT, b CHAR (20), INDEX (a)) MOTOR = InnoDB; Opret TABLE -kunder (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Fordele ved at bruge InnoDB
Transaktionsstøtte
Låser optegnelser
Det giver os mulighed for at have syreegenskaberne (atomitet, konsistens, isolation og holdbarhed: atomitet, konsistens, isolation og holdbarhed på spansk), hvilket garanterer vores bestyrelses integritet.
Det er sandsynligt, at hvis vores applikation gør stor brug af INSERT og UPDATE, vil vi bemærke en stigning i ydeevnen i forhold til MyISAM.
Fordele ved at bruge MyISAM
Samlet hurtigere datagendannelse.
Anbefales til applikationer, der dominerer SELECT -sætningerne inden INSERT / UPDATE.
Fravær af atomicitetskarakteristika, da det ikke behøver at foretage referencielle integritetskontroller eller låse bordene for at udføre operationerne, fører dette os, ligesom de tidligere punkter, til en højere hastighed.
Lagermotoren (lagermotor) er ansvarlig for at lagre, håndtere og hente oplysninger fra en tabel. De mest kendte motorer er MyISAM og InnoDB. Valget af det ene eller det andet afhænger meget af scenariet, hvor det anvendes, men arsys.es ønsker at hjælpe os med bedre at forstå disse velkendte lagermotorer.
Valget har til formål at opnå det bedste kvalitetsforhold i overensstemmelse med vores ansøgning. Hvis vi har brug for transaktioner, udenlandske nøgler og låse, bliver vi nødt til at vælge InnoDB. Tværtimod vil vi vælge MyISAM i de tilfælde, hvor SELECT -forespørgsler til databasen dominerer.
InnoDB giver MySQL en transaktionslagermotor (ACID -kompatibel) med funktioner til tilbagekaldelse, tilbageføring og nedbrud. InnoDB udfører låse på rækkeniveau og tilbyder også konsekvente læsefunktioner i Oracle-stil i SELECT-sætninger. Disse funktioner øger ydeevnen og muligheden for at administrere flere samtidige brugere. En skaleret lås er ikke påkrævet i InnoDB, fordi låse på rækkeniveau fylder meget lidt. InnoDB understøtter også FOREIGN KEY -begrænsninger. I SQL -forespørgsler, selv inden for den samme forespørgsel, kan tabeller af typen InnoDB frit inkluderes i tabeller af andre typer.
MyISAM er standardmotoren. For at oprette en InnoDB -tabel skal indstillingen ENGINE = InnoDB eller TYPE = InnoDB angives i SQL -sætningen for oprettelse af tabellen:
OPRET TABEL -kunder (a INT, b CHAR (20), INDEX (a)) MOTOR = InnoDB; OPRET TABEL -kunder (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Fordele ved at bruge InnoDB
Understøttelse af transaktioner, lagrede procedurer, udløsere
Låser optegnelser
Det giver os mulighed for at have syreegenskaberne (atomitet, konsistens, isolation og holdbarhed: atomitet, konsistens, isolation og holdbarhed på spansk), hvilket garanterer vores bestyrelses integritet.
Det er sandsynligt, at hvis vores applikation gør stor brug af INSERT og UPDATE, vil vi bemærke en stigning i ydeevnen i forhold til MyISAM.
Fordele ved at bruge MyISAM
Samlet hurtigere datagendannelse.
Anbefales til applikationer, der dominerer SELECT -sætningerne inden INSERT / UPDATE.
Fravær af atomicitetskarakteristika, da det ikke behøver at foretage referencielle integritetskontroller eller låse bordene for at udføre operationerne, fører dette os, ligesom de tidligere punkter, til en højere hastighed.
Vil dit bord modtage INSERT, UPDATE og DELETE meget længere tid, end det vil blive spurgt om?
Foretrækker eller kræver du relationsdatabasedesign?
Det er praktisk at bruge InnoDB
Skal du foretage fuldtekstsøgninger?
Er diskplads eller hukommelse et problem?

Din motor skal være MyISAMKan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave