1/ISAM
Az ISAM egy jól definiált és időpróbban bevált adattábla-kezelési megközelítés, amely úgy tervezik, hogy az adatbázist sokkal gyakrabban kérdőjelezik le, mint frissítik. Ennek eredményeként az ISAM gyorsan olvassa el az olvasásokat, és nem foglal el sok memóriát és tárolóeszközt. Az ISAM két fő hátránya, hogy nem támogatja a tranzakciófeldolgozást, és nem hibátűrő: ha a merevlemez összeomlik, akkor az adatfájlokat nem lehet helyreállítani. Ha az ISAM-et kritikus alkalmazásokhoz használod, mindig biztonsági mentést kell készítened az összes valós idejű adatodat, és a MySQL támogatja ezeket a mentési alkalmazásokat a replikációs funkciójának köszönhetően.
2/InnoDB
Ez biztosítja a tranzakcióvezérlési funkciót, amely biztosítja, hogy egy parancskészlet sikeresen teljesítsen, vagy ha bármilyen parancshiba történik, az összes parancs eredménye visszafordítható, elképzelhető, hogy a tranzakcióvezérlési képesség nagyon fontos az e-bankolásban. Támogatás COMMIT, ROLLBACK és egyéb tranzakciós funkciókhoz. A Mysql legújabb verziója már tervezi, hogy megszünteti a BDB támogatását az InnoDB javára.
A MyIASM az IASM táblázatok új változata, az alábbi kiterjesztésekkel: A bináris szinten a hordozhatóság. NULL oszlopindex. Kevesebb fragmentum van változósorokhoz, mint az ISAM táblákhoz. Nagy fájlok támogatása. Jobb indextömörítés. Jobb, ha statisztikai eloszlást használunk? Jobb és gyorsabb auto_increment feldolgozás.
Íme néhány részlet és konkrét megvalósítási különbségek:
1. Az InnoDB nem támogatja a FULLTEXT típusú indexeket. 2. A táblázatok nincsenek elmentve az InnoDB-ben Konkrét sorok, vagyis végrehajtsa Select Count(*) az InnoDB az egész táblát beszkennelte, hogy kiszámolja, hány sor van, de a MyISAM egyszerűen kiolvassa a mentett sorokat. Fontos megjegyezni, hogy amikor a count(*) állítás tartalmazza ahol feltétel esetén mindkét tábla működése ugyanaz. 3. AUTO_INCREMENT típusú mezők esetén az indexet csak az adott mezővel kell beépíteni az InnoDB-be, de a MyISAM táblában lehetséges föderált indexet létrehozni más mezőkkel. 4.TÖRLÉS FROM tábláról az InnoDB nem hozza létre a táblát, hanem soronként törli. 5. BETÖLTÉSI TÁBLA A A MASTER művelet nem működik az InnoDB-nél, a megoldás az, hogy először az InnoDB táblát MyISAM táblára cseréljük, az adatokat importáljuk, majd átalakítjuk az InnoDB táblára, de ez nem alkalmazható olyan táblákra, amelyek további InnoDB funkciókat használnak (például idegen kulcsokat).
Ezen felül az InnoDB tábla sorzárolása nem abszolút; ha a MySQL nem tudja meghatározni a vizsgálandó hatókört SQL utasítás végrehajtásakor, az InnoDB tábla az egész táblát is lezárja, például update tábla készlet num=1, ahol a név például "a%"
Egyetlen tábla sem mindenható, csak az üzleti típushoz tartozó megfelelő táblatípus kiválasztásával tudjuk maximalizálni a MySQL teljesítményelőnyeit.
MySQL Amikor az Adrátor adatbázist hoz létre, a tábla alapértelmezettként az InnoDB típusra változik.
InnoDB, MyISAM Mi a különbség a két típus között: A MyISAM típus nem támogatja a fejlett feldolgozást, például tranzakciófeldolgozást, míg az InnoDB típus igen. A MyISAM típusú táblázatok a teljesítményt hangsúlyozzák, amely több fokkal gyorsabban teljesít, mint az InnoDB típus, de nem nyújt tranzakciós támogatást, míg az InnoDB fejlett adatbázis-funkciókat kínál, mint például tranzakciós támogatás, idegen kulcsok stb.
MyISAM típusú bináris adatfájlok migrálhatók különböző operációs rendszerek között. Vagyis közvetlenül másolható Windows rendszerről a Linux rendszerre.
Módosítsuk a tábla motortípusát:
ALTER TÁBLATÁBLA ENGINE = MyISAM ;
MyISAM:,它是基于传统的ISAM类型,ISAM是Indexed Szekvenciális hozzáférési módszer Ez a szabványos módszer a rekordok és fájlok tárolására. Más tárolómotorokhoz képest a MyISAM a legtöbb eszközt kínálja az asztalok ellenőrzésére és javítására. A MyISAM táblák tömöríthetők, és támogatják a teljes szöveges keresést. Nem tranzakciós biztonságúak, és nem támogatják a külföldi kulcsokat. Ha valamit vissza tudnak állítani, az hiányos visszaállítást okoz, és nem atomi. Ha sok kivégzést hajtanak végre A THESELECT, a MyISAM a jobb választás.
InnoDB:这种类型是事务安全的.它与BDB类型具有相同的特性,它们还支持外键.InnoDB表格速度很快.具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它.如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表,
Az InnoDB típusoknál, amelyek támogatják a sebességet, a sebességre hatással lévő fő ok, hogy az AUTOCOMMIT alapértelmezett beállítás be van kapcsolva, és a program nem hívja kifejezetten a BEGIN gombot Indítson egy tranzakciót, ami automatikus commit-et eredményez minden beillesztésnél, ami komolyan befolyásolja a sebességet. Hívhatod a startot, mielőtt SQL lefuttatnák, és több SQL is alkot egy dolgot (még akkor is, ha az automatikus commitálás bekövetkezik be is lehet kapcsolni), ami jelentősen javítja a teljesítményt.
1. Tekintse meg a táblázat adatait, beleértve a használt motor típusát, a karakterkódolást, a tábla szerkezetét stb
Használd ezt a parancsot
MySQL> T1 táblázat létrehozását mutatjuk; --t1 a tábla neve
2. A következő parancs végrehajtható, hogy a nem tranzakciós táblákat tranzakciókra váltsuk (az adatok nem vesznek el), az innodb táblák biztonságosabbak, mint a myisam táblák: T1-es táblázat módosítása type=innodb; --t1 a tábla neve
3. Az innodb tábla nem table_name a javítási tábla parancsával és a myisamchk -r De használhatsz egy ellenőrző táblát t1, és mysqlcheck [OPTIONS] adatbázis [táblák]
4. A következő paramétereket adtuk hozzá a parancssorhoz, hogy elindítsuk a mysql adatbázist, így az összes újonnan kiadott mysql adattábla alapértelmezettként tranzakciókat használ ( Csak a create utasítást érinti. ) --default-table-type=InnoDB
5. Az alapértelmezett táblatípus ideiglenesen megváltoztatása a következőképpen lehetséges: table_type=InnoDB;
MyISAM Előnyök: gyors sebesség, kevesebb koronghely; Az adatbázis vagy tábla lemezhasználata vagy az operációs rendszer által ellenőrizhető a megfelelő fájl (mappa) méretének ellenőrzésével, vagy az SQL SHOW TABLE STATUS utasítással Hátrányok: Nincs adatintegritási mechanizmus, azaz nem támogatja a tranzakciókat és az idegen kulcsokat
InnoDB Előnyök: Támogatja a tranzakciókat és az idegen kulcsokat, valamint teljes adatintegritási mechanizmus. A SHOW TABLE STATUS segítségével ellenőrizheted a könyvtár vagy tábla lemezfoglaltságát Hátrányok: ultra lassú sebesség, nagy tárchely foglalt; Minden könyvtár egy (általában) vagy több fájlban van tárolva, és az operációs rendszer nem tudja megmondani, mennyi hely van egy könyvtárban vagy táblában
BDB Előnyök: Támogató tranzakciók, nem támogatják a külföldi kulcsokat, mert a tranzakciós támogatás alapján idegen kulcsok közvetetten megvalósíthatók az adatbázis kliens oldalán (ami lehet a végfelhasználó szerver oldala, például a PHP), így az adatok integritása továbbra is garantált; Hátrányok: lassú sebesség, nagy lemezhasználat; Nem lehet egy adatbázis vagy tábla helyfoglaltságát a SHOW TABLE STATUS funkcióval lekérdezni. Az operációs rendszer megérti a könyvtár megfelelő mappájának vagy a tábla megfelelő fájljának méretét, de mivel a BDB táblának mindig naplófájlt kell generálnia, és a lemez tényleges elfoglaltsága tartalmazza a naplófájlt, a könyvtár vagy tábla mérete mindig kisebb, mint az operációs rendszer tényleges helye.
|