Samenvatting: In deze tutorial leert u verschillende MySQL storage engines of tabel typen. Het is essentieel om de kenmerken van elke storage engine in MySQL te begrijpen, zodat u ze effectief kunt gebruiken om de prestaties van uw databases te maximaliseren.
MySQL biedt verschillende opslag-engines voor zijn tabellen als volgt:
- MyISAM
- InnoDB
- MERGE
- MEMORY (HEAP)
- ARCHIVE
- CSV
- FEDERATED
Elke opslag-engine heeft zijn eigen voor- en nadelen. Het is cruciaal om de kenmerken van elke opslag-engine te begrijpen en de meest geschikte te kiezen voor uw tabellen om de prestaties van de database te maximaliseren. In de volgende secties zullen we elke storage engine en zijn kenmerken bespreken, zodat u kunt beslissen welke u moet gebruiken.
MyISAM
MyISAM is een uitbreiding op de voormalige ISAM storage engine. De MyISAM tabellen zijn geoptimaliseerd voor compressie en snelheid. MyISAM tabellen zijn ook overdraagbaar tussen platforms en besturingssystemen.
De grootte van de MyISAM tabel kan oplopen tot 256TB, wat enorm is. Bovendien kunnen MyISAM tabellen worden gecomprimeerd in alleen-lezen tabellen om ruimte te besparen. Bij het opstarten controleert MySQL de MyISAM tabellen op corruptie en repareert ze zelfs in geval van fouten. De MyISAM tabellen zijn niet transactie-safe.
Vóór MySQL versie 5.5 is MyISAM de standaard storage engine wanneer u een tabel aanmaakt zonder de storage engine expliciet te specificeren. Vanaf versie 5.5, MySQL gebruikt InnoDB als de standaard storage engine.
InnoDB
De InnoDB tabellen ondersteunen volledig ACID-compliant en transacties. Ze zijn ook optimaal voor prestaties. InnoDB tabellen ondersteunen foreign keys, commit, rollback, roll-forward operaties. De grootte van een InnoDB tabel kan oplopen tot 64TB.
Net als MyISAM, zijn de InnoDB tabellen overdraagbaar tussen verschillende platformen en besturingssystemen. MySQL controleert en repareert ook InnoDB-tabellen, indien nodig, bij het opstarten.
MERGE
Een MERGE-tabel is een virtuele tabel die meerdere MyISAM-tabellen combineert die een vergelijkbare structuur hebben tot één tabel. De MERGE opslag engine is ook bekend als de MRG_MyISAM
engine. De MERGE
tabel heeft geen eigen indexen; het gebruikt in plaats daarvan indexen van de component tabellen.
Met behulp van MERGE tabel, kunt u de prestaties versnellen bij het samenvoegen van meerdere tabellen. MySQL staat u alleen toe om SELECT, DELETE, UPDATE en INSERT operaties uit te voeren op de MERGE
tabellen. Als u DROP TABLE
statement gebruikt op een MERGE
tabel, wordt alleen MERGE
specificatie verwijderd. De onderliggende tabellen worden niet beïnvloed.
Geheugen
De geheugentabellen worden in het geheugen opgeslagen en gebruiken hash indexen zodat ze sneller zijn dan MyISAM tabellen. De levensduur van de gegevens van de geheugentabellen hangt af van de uptime van de databaseserver. De geheugenopslag-engine is voorheen bekend als HEAP.
Archive
Met de archive storage engine kunt u een groot aantal records, die voor archiveringsdoeleinden zijn bestemd, in een gecomprimeerd formaat opslaan om schijfruimte te besparen. De archief opslag engine comprimeert een record wanneer het wordt ingevoegd en decomprimeert het met behulp van de zlib bibliotheek wanneer het wordt gelezen.
De archief tabellen staan alleen INSERT en SELECT statements toe. De ARCHIVE
tabellen ondersteunen geen indexen, dus het is vereist een volledige tabel scanning voor het lezen van rijen.
CSV
De CSV storage engine slaat gegevens op in comma-separated values (CSV) bestandsformaat. Een CSV-tabel biedt een handige manier om gegevens te migreren naar niet-SQL-toepassingen, zoals spreadsheetsoftware.
CSV-tabel ondersteunt het gegevenstype NULL niet. Bovendien vereist de leesbewerking een volledige tabel scan.
FEDERATED
De FEDERATED
opslag engine stelt u in staat om gegevens van een externe MySQL server te beheren zonder gebruik te maken van de cluster of replicatie technologie. De lokale gefedereerde tabel slaat geen gegevens op. Wanneer u gegevens opvraagt in een lokale federatietabel, worden de gegevens automatisch opgehaald uit de externe federatietabellen.
Kiezen van MySQL-tabeltypen
U kunt de volgende checklist downloaden om de meest geschikte opslag-engine of het meest geschikte tabeltype te kiezen op basis van verschillende criteria.
MySQL Storage Engines Feature Summary
In deze tutorial hebt u kennisgemaakt met de verschillende opslagsystemen of tabeltypen die beschikbaar zijn in MySQL.
- Was deze tutorial nuttig?
- JaNee