Di MySQL dikenal istilah table
handler dan jenis tabel. Saat ini ada 3 jenis tabel utama yang bisa dipakai di
MySQL: MyISAM (default), BerkeleyDB, dan InnoDB. Yang perlu diketahui ada tiga
hal: 1) tidak semua tabel mendukung transaksi (MyISAM tidak mendukung
transaksi, jadi COMMIT dan ROLLBACK tidak melakukan sesuatu yang semestinya
jika Anda menerapkan pada tabel MyISAM); 2) tidak semua tabel punya
karakteristik performance yang sama (BerkeleyDB misalnya, lambat jika ukuran
tabel besar) dan disimpan dengan cara yang sama (tabel MyISAM misalnya disimpan
dalam 3 file: .MYI, .MYD, .frm sementara tabel-tabel dan database-database
InnoDB disimpan bersama dalam daerah disk yang disebut tablespace; 3)
distribusi MySQL yang bukan -Max tidak dikompile dengan dukungan terhadap
BerkeleyDB dan InnoDB.
Nomor 3 penting Anda ketahui karena
jika kita menginstruksikan MySQL untuk membuat database dengan jenis tertentu:
CREATE TABLE (...) TYPE=BDB;
Dan MySQL tidak dikompile untuk
mendukung BerkeleyDB, maka MySQL tidak
akan protes dengan error, melainkan membuatkan tabel tersebut untuk kita tapi dengan tipe default yaitu MyISAM.
Jadi Anda perlu mengecek dulu menggunakan SHOW
TABLE STATUS:
mysql> create table t4 (i int) type=innodb; Query OK, 0 rows affected (0.00 sec) mysql> show table status from mydb like 't4'; +------+--------+-... | Name | Type | ... +------+--------+-... | t4 | MyISAM | ... +------+--------+-...
Ternyata MyISAM!