Sự khác nhau giữa InnoDB và MYISAM trong MySQL

Như được biết có 2 kiểu bảng dữ liệu phổ biến nhất hiện nay là innoDB và MYISAM, sau đây là một số điểm khác biệt giữa 2 kiểu dữ liệu này.

innodb-vs-myisam

– InnoDB có hỗ trợ relationship, MyISAM thì không, đa số open source hiện nay đều không quan trọng tới việc này, tuy nhiên nếu ứng dụng bắt buộc phải sử dụng forein key thì InnoDB là lựa chọn.

– InnoDB hỗ trợ transactions còn MyISAM thì không: Nếu hệ thống của bạn dùng trong các ứng dụng ngân hàng hoặc phải thực hiện việc giao dịch thì chắc chắn là MyISAM sẽ bị loại. (Transactions có nghĩa là là 1 tập các hành động cùng thực hiện 1 chức năng, và chúng chỉ có thể cùng nhau thành công, hoặc cùng nhau thất bại)

– InnoDB thiên về row-level locking còn MyISAM thiên về table locking: Tức là khi hệ thống của bạn phải thực hiện nhiều các thao tác insert/update thì InnoDB là tốt hơn, còn nếu hệ thống của bạn thực hiện các thao tác select là chủ yếu thì dùng MyISAM là lựu chọn tốt hơn.

– MyISAM hỗ trợ full-text searches còn InnoDB thì không: Đây rõ ràng là một điểm yếu của InnoDB so với MyISAM, và dĩ nhiên là trong hệ thống có dùng full-text searches thì phải loại InnoDB đầu nước. (Về Full-Text Searches ở đây)

– Tốc độ của MyISAM cao hơn InnoDB: Khi hệ thống của bạn đòi hỏi performance cao thì MyISAM là lựa chọn tốt hơn.

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *