So sánh 2 loại storage engine trong MySQL

Các bảng CSDL hay các storage engine hỗ trợ giao dịch  có vài ưu điểm so với các bảng không hỗ trợ giao dịch:

  • Chúng an toàn hơn. Thậm chí nếu MySQL gặp lỗi hoặc chúng ta có những vấn đề về phần cứng, chúng ta có thể lấy lại dữ liệu bằng phục hồi tự động hoặc từ 1 bản sao lưu cộng với nhật ký giao dịch.
  • Chúng ta có thể kết hợp nhiều khai báo và chấp nhận tất cả chúng vào cùng 1 thời điểm với khai báo COMMIT (nếu chức năng autocommit bị vô hiệu hóa).
  • Chúng ta có thể sử dụng khai báo ROLLBACK để bỏ qua các thay đổi của mình (nếu chức năng autocommit bị vô hiệu hóa).
  • Nếu 1 cập nhật thất bại, tất cả các thay đổi của chúng ta sẽ được đảo ngược (với các bảng không hỗ trợ giao dịch, tất cả các thay đổi đã diễn ra là không thể đảo ngược lại được).
  • Các storage engine hỗ trợ giao dịch cho phép số lượng tác vụ đọc ghi đồng thời cao hơn so với phiên bản không hỗ trợ giao dịch

Mặc khác, các bảng CSDL hoặc storage engine không hỗ trợ giao dịch cũng có những ưu điểm của riêng nó:

  • Nhanh hơn.
  • Yêu cầu ít không gian lưu trữ trên đĩa hơn.
  • Yêu cầu ít bộ nhớ hơn để thực hiện các cập nhật.

Chúng ta có thể kết hợp các bảng hỗ trợ giao dịch và không hỗ trợ giao dịch trong cùng khai báo để tận dụng được ưu điểm của cả 2. Tuy nhiên, dù MySQL hỗ trợ nhiều storage engine hỗ trợ giao dịch, để có kết quả tốt nhất, chúng ta không nên trộn các storage engine khác nhau bên trong 1 giao dịch với chức năng autocommit bị vô hiệu.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.