„MySQL“, kurį pasirinkti tarp „Innodb“ ir „Myisam“

Turinys

Saugojimo variklis yra atsakingas už informacijos saugojimą, tvarkymą ir gavimą iš lentelės. Žinomiausi varikliai yra „MyISAM“ ir „InnoDB“. Vieno ar kito pasirinkimas labai priklausys nuo scenarijaus, kuriame jis bus taikomas.
Pasirinkimas yra skirtas pasiekti geriausią kokybės santykį pagal mūsų programą. Jei mums reikia operacijų, užsienio raktų ir spynų, turėsime pasirinkti „InnoDB“. Priešingai, mes pasirinksime „MyISAM“ tais atvejais, kai vyrauja SELECT užklausos duomenų bazėje.
„InnoDB“ teikia „MySQL“ sandorių saugojimo variklį (suderinamą su ACID) su įsipareigojimo, atšaukimo ir avarijos atkūrimo galimybėmis. „InnoDB“ atlieka eilutės lygio užraktus, taip pat teikia „Oracle“ stiliaus neužrakinamas nuoseklias SELECT teiginių skaitymo funkcijas. Šios funkcijos padidina našumą ir galimybę valdyti kelis vienu metu veikiančius vartotojus. „InnoDB“ nereikia užrakto, nes eilės lygio užraktai užima labai mažai vietos. „InnoDB“ taip pat palaiko UŽSIENIO RAKTO apribojimus. SQL užklausose, net ir toje pačioje užklausoje, „InnoDB“ tipo lenteles galima laisvai įtraukti į kitų tipų lenteles.
„MyISAM“ yra numatytasis variklis. Norėdami sukurti „InnoDB“ lentelę, lentelės kūrimo SQL sakinyje turi būti nurodyta parinktis ENGINE = InnoDB arba TYPE = InnoDB:
KURTI LENTELĖS klientus (a INT, b CHAR (20), INDEX (a)) VARIKLIS = InnoDB; CREATE LABLE klientai (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

„InnoDB“ naudojimo pranašumai
Sandorių palaikymas
Užrakinami įrašai
Tai leidžia mums turėti ACID charakteristikas (atomiškumas, nuoseklumas, izoliacija ir ilgaamžiškumas: atomiškumas, nuoseklumas, izoliacija ir patvarumas ispanų kalba), garantuojant mūsų plokščių vientisumą.
Tikėtina, kad jei mūsų programa daug naudos INSERT ir UPDATE, pastebėsime našumo padidėjimą, palyginti su „MyISAM“.
„MyISAM“ naudojimo pranašumai
Apskritai greitesnis duomenų atkūrimas.
Rekomenduojama programoms, dominuojančioms SELECT sakiniuose prieš INSERT / UPDATE.
Atomiškumo charakteristikų nebuvimas, nes norint atlikti operacijas nereikia atlikti referencinių vientisumo patikrinimų ar užrakinti lentelių, tai, kaip ir ankstesni punktai, leidžia mums pasiekti didesnį greitį.
Saugojimo variklis (saugojimo variklis) yra atsakingas už informacijos saugojimą, tvarkymą ir gavimą iš lentelės. Žinomiausi varikliai yra „MyISAM“ ir „InnoDB“. Vieno ar kito pasirinkimas labai priklausys nuo scenarijaus, kuriame jis bus taikomas, tačiau arsys.es nori mums padėti geriau suprasti šiuos gerai žinomus saugojimo variklius.
Pasirinkimas yra skirtas pasiekti geriausią kokybės santykį pagal mūsų programą. Jei mums reikia operacijų, užsienio raktų ir spynų, turėsime pasirinkti „InnoDB“. Priešingai, mes pasirinksime „MyISAM“ tais atvejais, kai vyrauja SELECT užklausos duomenų bazėje.
„InnoDB“ teikia „MySQL“ sandorių saugojimo variklį (suderinamą su ACID) su įsipareigojimo, atšaukimo ir avarijos atkūrimo galimybėmis. „InnoDB“ atlieka eilutės lygio užraktus ir taip pat teikia „Oracle“ stiliaus neužrakinamas nuoseklias SELECT teiginių skaitymo funkcijas. Šios funkcijos padidina našumą ir galimybę valdyti kelis vienu metu veikiančius vartotojus. „InnoDB“ nereikia užrakto, nes eilės lygio užraktai užima labai mažai vietos. „InnoDB“ taip pat palaiko UŽSIENIO RAKTO apribojimus. SQL užklausose, net ir toje pačioje užklausoje, „InnoDB“ tipo lenteles galima laisvai įtraukti į kitų tipų lenteles.
„MyISAM“ yra numatytasis variklis. Norėdami sukurti „InnoDB“ lentelę, lentelės kūrimo SQL sakinyje turi būti nurodyta parinktis ENGINE = InnoDB arba TYPE = InnoDB:
CREATE TABLE klientai (a INT, b CHAR (20), INDEX (a)) VARIKLIS = InnoDB; CREATE TABLE klientai (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

„InnoDB“ naudojimo pranašumai
Operacijų, saugomų procedūrų, trigerių palaikymas
Užrakinami įrašai
Tai leidžia mums turėti ACID charakteristikas (atomiškumas, nuoseklumas, izoliacija ir patvarumas: atomiškumas, nuoseklumas, izoliacija ir ilgaamžiškumas ispanų kalba), garantuojant mūsų plokščių vientisumą.
Tikėtina, kad jei mūsų programa daug naudos INSERT ir UPDATE, pastebėsime našumo padidėjimą, palyginti su „MyISAM“.
„MyISAM“ naudojimo pranašumai
Apskritai greitesnis duomenų atkūrimas.
Rekomenduojama programoms, dominuojančioms SELECT sakiniuose prieš INSERT / UPDATE.
Atomiškumo charakteristikų nebuvimas, nes norint atlikti operacijas nereikia atlikti referencinių vientisumo patikrinimų ar užrakinti lentelių, tai, kaip ir ankstesni punktai, leidžia mums pasiekti didesnį greitį.
Ar jūsų lentelė gaus INSERT, UPDATE ir DELETE daug ilgiau, nei bus pateikta užklausa?
Ar jums labiau patinka ar reikalingas santykių duomenų bazės dizainas?
Patogu naudoti „InnoDB“
Ar reikės atlikti viso teksto paieškas?
Ar problema diske ar atmintyje yra problema?

Jūsų variklis turi būti „MyISAM“Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave