MySQL hvilken du skal velge mellom Innodb og Myisam

Innholdsfortegnelse

Lagermotoren er ansvarlig for å lagre, håndtere og hente informasjon fra en tabell. De mest kjente motorene er MyISAM og InnoDB. Valget av det ene eller det andre vil avhenge mye av scenariet der det brukes.
Valget er ment å oppnå det beste kvalitetsforholdet i samsvar med vår søknad. Hvis vi trenger transaksjoner, utenlandske nøkler og låser, må vi velge InnoDB. Tvert imot vil vi velge MyISAM i de tilfellene der SELECT -spørringer til databasen dominerer.
InnoDB gir MySQL en transaksjonslagringsmotor (ACID -kompatibel) med commit, rollback og crash recovery -funksjoner. InnoDB utfører låser på radnivå og tilbyr også konsistente lesefunksjoner i Oracle-stil på SELECT-setninger. Disse funksjonene øker ytelsen og muligheten til å administrere flere samtidige brukere. En skalert lås er ikke nødvendig i InnoDB fordi låser på radnivå tar svært lite plass. InnoDB støtter også begrensninger i FOREIGN KEY. I SQL -spørringer, selv innenfor den samme spørringen, kan tabeller av typen InnoDB fritt inkluderes med tabeller av andre typer.
MyISAM er standardmotoren. For å lage en InnoDB -tabell, må alternativet ENGINE = InnoDB eller TYPE = InnoDB spesifiseres i tabellopprettelsen SQL -setning:
OPPRETT TABELLKunder (a INT, b CHAR (20), INDEKS (a)) MOTOR = InnoDB; SKAP TABELLKunder (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Fordeler med å bruke InnoDB
Transaksjonsstøtte
Låser poster
Det lar oss ha syreegenskapene (atomitet, konsistens, isolasjon og holdbarhet: atomitet, konsistens, isolasjon og holdbarhet på spansk), noe som garanterer integriteten til våre brett.
Det er sannsynlig at hvis applikasjonen vår bruker INSERT og UPDATE mye, vil vi merke en økning i ytelsen sammenlignet med MyISAM.
Fordeler med å bruke MyISAM
Totalt sett raskere datagjenoppretting.
Anbefalt for applikasjoner som dominerer SELECT -setningene før INSERT / UPDATE.
Fravær av atomisitetskarakteristika siden det ikke trenger å gjøre referentielle integritetskontroller, eller låse bordene for å utføre operasjonene, fører dette oss, som de tidligere punktene, til en høyere hastighet.
Lagringsmotoren (lagermotoren) er ansvarlig for å lagre, håndtere og hente informasjon fra en tabell. De mest kjente motorene er MyISAM og InnoDB. Valget av det ene eller det andre vil avhenge mye av scenariet der det brukes, men arsys.es ønsker å hjelpe oss å forstå disse velkjente lagermotorene bedre.
Valget er ment å oppnå det beste kvalitetsforholdet i samsvar med vår søknad. Hvis vi trenger transaksjoner, utenlandske nøkler og låser, må vi velge InnoDB. Tvert imot vil vi velge MyISAM i de tilfellene der SELECT -spørringer til databasen dominerer.
InnoDB gir MySQL en transaksjonslagringsmotor (ACID -kompatibel) med commit, rollback og crash recovery -funksjoner. InnoDB utfører låser på radnivå og tilbyr også konsekvent lesefunksjoner i Oracle-stil på SELECT-setninger. Disse funksjonene øker ytelsen og muligheten til å administrere flere samtidige brukere. En skalert lås er ikke nødvendig i InnoDB fordi låser på radnivå tar svært lite plass. InnoDB støtter også begrensninger i FOREIGN KEY. I SQL -spørringer, selv innenfor den samme spørringen, kan tabeller av typen InnoDB fritt inkluderes med tabeller av andre typer.
MyISAM er standardmotoren. For å lage en InnoDB -tabell, må alternativet ENGINE = InnoDB eller TYPE = InnoDB spesifiseres i tabellopprettelsen SQL -setning:
OPPRETT TABELLKunder (a INT, b CHAR (20), INDEKS (a)) MOTOR = InnoDB; OPPRETT TABELLKunder (a INT, b CHAR (20), INDEKS (a)) TYPE = InnoDB;

Fordeler med å bruke InnoDB
Støtte for transaksjoner, lagrede prosedyrer, utløsere
Låser poster
Det lar oss ha syreegenskapene (atomitet, konsistens, isolasjon og holdbarhet: atomitet, konsistens, isolasjon og holdbarhet på spansk), noe som garanterer integriteten til våre brett.
Det er sannsynlig at hvis applikasjonen vår bruker INSERT og UPDATE mye, vil vi merke en økning i ytelsen sammenlignet med MyISAM.
Fordeler med å bruke MyISAM
Totalt sett raskere datagjenoppretting.
Anbefalt for applikasjoner som dominerer SELECT -setningene før INSERT / UPDATE.
Fravær av atomisitetskarakteristika siden det ikke trenger å gjøre referentielle integritetskontroller, eller låse bordene for å utføre operasjonene, fører dette oss, som de tidligere punktene, til en høyere hastighet.
Kommer bordet ditt til å motta INSERT, UPDATE og DELETE mye lenger tid enn det vil bli spurt om?
Foretrekker eller krever du relasjonsdatabasedesign?
Det er praktisk å bruke InnoDB
Trenger du å søke i fulltekst?
Er diskplass eller minne et problem?

Motoren din må være MyISAMLikte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave