Site icon Knowledge Base| Kiến thức Dịch vụ P.A Việt Nam

Myisam và Innodb – Chuyển InnoDB sang MyIsam

Một số đặc điểm của InnoDB và MyISAM trong cơ sở dữ liệu MySQL:
– InnoDB hỗ trợ relationship (data integrity and foreign key constraints) còn MyISAM thì ko. Đa phần các open source đều không coi trọng việc này nhưng nếu ứng dụng của bạn bắt buộc phải dùng foreign key constraints thì InnoDB là lựa chọn của bạ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.

– 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.

– 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.

– Cuối cùng nếu bạn là người mới làm về MySQL (cũng như DB nói chung) thì bạn nên dùng MyISAM vì rằng nó đơn giản hơn InnoDB. Tùy theo yêu cầu của hệ thống mà bạn đưa ra lựa chọn phù hợp nhé.

 Các server dùng mysql5.x về sau thì hỗ trợ chuẩn MyIsam là chính. Việc hỗ trợ thêm Innodb gặp nhiều khó khăn. Phương án đơn giản là bạn convert Innodb sang Myisam dùng cú pháp SQL query sau

ALTER TABLE myInnoDB_Table ENGINE=MYISAM

4.6 / 5 ( 142 bình chọn )
Exit mobile version