Läs om Storage Engines .
MyISAM:
MyISAM lagringsmotor i MySQL.
- Enklare att designa och skapa, alltså bättre för nybörjare. Ingen oro över utländska relationer mellan tabeller.
- Snabbare än InnoDB på det hela taget som ett resultat av den enklare strukturen och därmed mycket lägre kostnader för serverresurser. -- Oftast inte längre sant.
- Fulltextindexering. -- InnoDB har det nu
- Särskilt bra för läsintensiva (utvalda) tabeller. -- Oftast inte längre sant.
- Diskfotavtrycket är 2x-3x mindre än InnoDBs. -- Från och med version 5.7 är detta kanske den enda verkliga fördelen med MyISAM.
InnoDB:
InnoDB lagringsmotor i MySQL.
- Stöd för transaktioner (ger dig stöd för ACID egendom).
- Låsning på radnivå. Att ha en mer finkornig låsmekanism ger dig högre samtidighet jämfört med till exempel MyISAM .
- Begränsningar för främmande nyckel. Tillåter dig att låta databasen säkerställa integriteten för databasens tillstånd och relationerna mellan tabeller.
- InnoDB är mer motståndskraftig mot tabellkorruption än MyISAM.
- Stöd för stor buffertpool för både data och index. MyISAM-nyckelbuffert är endast för index.
- MyISAM är stillastående; alla framtida förbättringar kommer att finnas i InnoDB. Detta klargjordes mycket tydligt med lanseringen av version 8.0.
MyISAM-begränsningar:
- Inga främmande nycklar och överlappande raderingar/uppdateringar
- Ingen transaktionsintegritet (ACID-efterlevnad)
- Inga återställningsmöjligheter
- 4 284 867 296 radgräns (2^32) -- Detta är gammal standard . Den konfigurerbara gränsen (för många versioner) har varit 2**56 byte.
- Högst 64 index per tabell
InnoDB-begränsningar:
- Ingen fulltextindexering (under 5.6 mysql-version)
- Kan inte komprimeras för snabb, skrivskyddad (5.5.14 introducerades
ROW_FORMAT=COMPRESSED
) - Du kan inte reparera en InnoDB-tabell
För kortfattad förståelse läs länkarna nedan:
- MySQL-motorer:InnoDB vs. MyISAM – En jämförelse mellan fördelar och nackdelar
- MySQL-motorer:MyISAM vs. InnoDB
- Vilka är de viktigaste skillnaderna mellan InnoDB och MyISAM?
- MyISAM kontra InnoDB
- Vad är skillnaden mellan MyISAM och InnoDB?
- MySql:MyISAM vs. Inno DB!