Salah satu kelebihan dari MySQL adalah anda
dapat mendefinisikan tipe untuk tiap tabel. MySQL mendukung beberapa tipe
tabel, tergantung konfigurasi saat proses instalasi MySQL. MySQL memiliki 3
(tiga) tipe data utama, yaituMyISAM, InnoDB dan HEAP.
Jika kita tidak menyebutkan tipe tabel saat
membuat tabel, maka tipe tabel otomatis akan dibuat sesuai konfigurasi default
server MySQL. Hal ini ditentukan oleh variabel default-table-type di file konfigurasi
MySQL.
a.
MyISAM
Tipe tabe lMyISAM merupakan tipe tabel
yang sederhana, stabil dan mudah digunakan. Jika kita akan menyimpan data
sederhana yang tidak terlalu rumit, maka gunakanlah tipe tabel ini. Kelebihan utama
MyISAM adalah kecepatan dan kestabilannya. Jika kita memilih tipe tabel MyISAM,
maka MySQL secara otomatis akan menentukan salah satu dari tiga jenis tabel MyISAM,
yaitu :
1) MyISAM
static.
Jenis
ini digunakan ketika semua kolom dalam tabel didefinisikan dengan ukuran yang
pasti (fixed). Dengan kata lain, tidak ada kolom yang memiliki tipe seperti
VARCHAR, TEXT dan BLOB. Karena sifatnya yang fixed, maka jenis ini akan lebih cepat,
aman dan stabil.
2) MyISAM
dymanic.
Jenis
ini digunakan ketika terdapat kolom dengan tipe yang dinamis, seperti tipe kolom
VARCHAR. Keuntungan utama dari jenis ini adalah ukuran yang dinamis. Jadi sifatnya
lebih efektif karena ukuran data (file) menyesuaikan isi dari masing-masing kolom
(field).
3) MyISAM Compressed.
Kedua
jenis MyISAM, static dan dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM
Compressed dengan perintah myisam chk. Tentunya hasilnya lebih kecil dari segi
ukuran. Tabel yang terkompresi tidak dapat dikenakan operasi seperti INSERT,
UPDATE dan DELETE.
b.
InnoDB
Tipe tabel InnoDB merupakan tipe tabel
MySQL yang mendukung proses transaksi. Tipe ini memiliki beberapa keunggulan, antara
lain:
·
Mendukung transaksi antar tabel.
·
Mendukung row-level-locking.
·
Mendukung Foreign-Key Constraints.
·
Crash recovery.
c.
HEAP
Tabel dengan tipe HEAP tidak menyimpan
datanya dihardisk, tetapi menyimpan di RAM (memori). Tipe tabel ini biasanya digunakan
sebagai tabel sementara (temporary). Tabel secara otomatis akan dihapus
(hilang) dari MySQL saat koneksi ke server diputus atau server MySQL dimatikan.