Chúng ta đều biết rằng MySQL tổ chức dữ liệu dưới dạng các bảng, cột và hàng. Nhưng bạn có bao giờ thắc mắc về cách mà MySQL lưu trữ dữ liệu trên máy tính không (trên ổ cứng). Thực tế, MySQL có vài kiểu lưu trữ dữ liệu khác nhau, và người ta gọi chung các kiểu lưu trữ này là Storage engine.
Storage engine là một thuộc tính của table, không phải thuộc tính của database, của dòng hay cột. Tức bạn sẽ có quyền lựa chọn storage engine trong lúc tạo mới một table.
Trước phiên bản MYSQL 5.5, MYISAM là dạng storage engine mặc định trong lúc tạo table mà không chỉ rõ, Nhưng từ phiên bảng 5,5 trở đi thì storage engine mặc định là InnoDB.
MyISAM được thiết kế để phù hợp với những table có thao tác đọc (select) nhiều hơn các thao tác thêm-sửa-xóa, vì:
Một số đặt điểm khác của MyISAM:
InnoDB là storage engine mặc định (tính tới thời điểm MySQL 8.0) khi bạn tạo một table mà không chỉ rõ storage engine. Đây cũng là dạng storage engine cân bằng giữa các yếu tố về hiệu năng và độ tin cậy. Cụ thể:
Memory engine là dạng storage mà toàn bộ dữ liệu sẽ được lưu trên memory (RAM). Do được lưu trên memory, nên dữ liệu trong table này dể bị “tổn thương” (hoặc biến mất) khi gặp các vấn đề như bị cash ứng dụng, lỗi phần cứng, server reset,…. Vì thế dạng storage engine chỉ nên được sử khi dữ liệu lưu trong table là tạm thời hoặc lưu cache kết quả truy vấn từ table khác.
Ưu điểm duy nhất là tốc độ truy xuất cao
Mặc dù được chia làm vài ba loại storage engine (3 cái trên là 3 cái tiêu biểu), nhưng trong thực tế InnoDB gần như là storage engine duy nhất được sử dụng ở thời điểm hiện tại. Do nó là engine cân bằng giữa mọi yếu tố. Mặt khác, nó cũng là engine mà MySQL thể hiện tốt nhất, bởi:
Vậy là bạn biết nên chọn storage engine nào cho table của bạn rồi chứ?
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE