MySQL, iki farklı tür tablo yapısını destekler :
* Transaction Tabloları :
- InnoDB
- Berkeley DB
* Atomik İşlem Tabloları :
- MyISAM
- HEAP
- MERGE
- ISAM
Tablo tipleri, her tablo için farklı seçilebilir. Bir veritabanında iki ya da daha fazla tablo tipini bir arada kullanabilirsiniz.
InnoDB
* %100 ACID uyumlu, commit, rollback ve göçmeden kurtarma özelliklerine sahip bir tablo yapısını size sağlar.
* Satır seviyesinde kilitleme kullanır, Oracle-stili kilitleme olmaksızın SELECT işlemleri yapılmasını destekler.
* Yabancı anahtar kısıtlamalarına uyar.
* Veri ve indeksleri ana bellekte cache'lemek için kendi tampon havuzu vardır.
* Tabloları ve indeksleri tablo alanı olarak tanımladığı sanal ciltte tutar.
* Bir tablo alanı birçok dosya ya da disk bölümünden oluşabilir.
* InnoDB, MySQL'in standart transaction destekli tablo tipidir.
MyISAM
MyISAM, MySQL'in "klasik" tablo tipidir. Çok hızlı, az kaynak harcayan ve verimli çalışmak için tasarlanmıştır.
MERGE
Birden fazla eş MyISAM tablosunun tek bir tablo gibi kullanılması için kullanılır. Özellikle çok büyük tabloların daha hızlı tarama yapılabilmesi için küçük eş tablolara bölunmesi durumunda işe yararlar.
HEAP
Hashlenmiş indeksler kullanırlar ve tüm veriler bellekte tutulur. Bu nedenle çok hızlı çalışırlar ama MySQL kapandığında tüm verileri kaybedersiniz. Geçici tablolar için çok yararlıdırlar.