Luôn sử dụng InnoDB theo mặc định.
Trong MySQL 5.1 sau này, bạn nên sử dụng InnoDB. Trong MySQL 5.1, bạn nên bật plugin InnoDB . Trong MySQL 5.5, plugin InnoDB được bật theo mặc định nên chỉ cần sử dụng nó.
Lời khuyên nhiều năm trước là MyISAM nhanh hơn trong nhiều trường hợp. Nhưng điều đó không còn đúng nếu bạn sử dụng phiên bản MySQL hiện tại.
Có thể có một số trường hợp góc kỳ lạ trong đó MyISAM hoạt động tốt hơn một chút đối với một số khối lượng công việc nhất định (ví dụ:quét bảng hoặc chỉ công việc INSERT khối lượng lớn), nhưng lựa chọn mặc định phải là InnoDB trừ khi bạn có thể chứng minh bạn có một trường hợp mà MyISAM làm tốt hơn.
Ưu điểm của InnoDB bên cạnh việc hỗ trợ giao dịch và khóa ngoại thường được đề cập bao gồm:
- InnoDB có khả năng chống tham nhũng bảng tốt hơn MyISAM.
- Khóa cấp hàng. Trong MyISAM, người đọc chặn người viết và ngược lại.
- Hỗ trợ vùng đệm lớn cho cả dữ liệu và chỉ mục. Bộ đệm khóa MyISAM chỉ dành cho các chỉ mục.
- MyISAM bị đình trệ; tất cả sự phát triển trong tương lai sẽ có trong InnoDB.
Xem thêm câu trả lời của tôi cho MyISAM so với InnoDB