Thứ Hai, 1 tháng 6, 2015

So sánh các storage in phpmyadmin

khi tạo 1 table trong phpmyadmin có các kiểu storage cho ta chọn lựa.
mặc định sẽ là myisam (được dùng phổ biến)

- MyIsam : cho phép lập chỉ mục toàn cột (full text index) =>cho phép truy xuất đọc và tìm kiếm nhanh nhất so với các storage khác.
Nhược điểm : Hoạt động theo kiểu table level locking nên khi cập nhật thao tác thêm xóa sửa trong 1 bảng thì table đó sẽ bị khóa lại cho đến khi thao tác cập nhật trước thành công

Hiểu đơn giản. ví dụ có 2 hoạt động cùng update vào 1 table thì hoạt động 1 xử lý thành công thì mới đến hoạt động 2 ( cả 2 ko thể cùng 1 lúc được)
-MyIsam không kiểm tra ràng buộc nên bảng dễ bị crash hoặc hỏng chỉ mục..

Kiểu storage thứ 2 đó là inodb
- Không hỗ trợ full text search (sắp tới sẽ hỗ trợ nhưng ở bản mysql cao chưa biết...)
- Hỗ trợ quan hệ giữa các bảng (khó ngoại)=>tính toàn vẹn dữ liệu cao => khó bị hỏng chị mục index và khó bị crash
- Hoạt động theo kiểu row level locking nên khi cập nhật thêm sửa xóa 1 bảng thì chỉ có bản ghi đó bị khóa còn lại các thao tác trên các row khác hoàn toàn bình thường
=> hay dùng với ngân hàng hoặc web có tần xuất cập nhật dữ liệu cao
hoạt động tốn ram hơn so với myisam
Inodb hỗ trợ transaction còn myisam thì không
Nếu muốn chuyển từ myisam sang inodb thì nếu trường hợp cột nào có full text search thì phải xóa full text search đi mới chuyển được

Kiểu storage thứ 3 memory
- Lưu trữ dữ liệu trực tiếp trên ram =>truy xuất cực nhanh =>thường dùng chứa dữ liệu tạm như các phiên làm việc của user
Khi khởi động lại mysql thì dữ liệu có kiểu storage sẽ bị mất hết dữ liệu
Sử dụng cơ chế table-level -locking giống myisam
Mặc định dung lượng 1 bảng có storage memory sẽ là 16MB max

Túm lại
1 ứng dụng có tàn xuất đọc cao như tin tức, báo .. thì dùng storage myisam
1 ứng dụng có tần xuất update dữ liệu cao như diễn đàn thì dùng inodb





                  

Không có nhận xét nào:

Đăng nhận xét