Bài MySQL 36: Các loại công cụ lưu trữ trong MySQL

0
68

Xin chào các bạn, trong bài học ngày hôm nay chúng ta sẽ cùng nhau tìm hiểu về các công cụ lưu trữ khác nhau  trong MySQL hay còn gọi là các loại bảng. Đây là điều cần thiết để hiểu các tính năng của mỗi công cụ lưu trữ trong MySQL để bạn có thể sử dụng chúng hiệu quả, giúp bạn tối đa hóa hiệu suất trong cơ sở dữ liệu.

MySQL cung cấp các công cụ lưu trữ khác nhau cho các bảng như sau:

  • MyISAM
  • InnoDB
  • MERGE
  • MEMORY (HEAP)
  • ARCHIVE
  • CSV
  • FEDERATED

Mỗi công cụ lưu trữ có những ưu điểm và nhược điểm riêng, điều quan trọng là bạn phải hiểu từng tính năng của công cụ lưu trữ và chọn một tính năng phù hợp nhất cho các bảng của mình để tối đa hóa hiệu suất của cơ sở dữ liệu.

MyISAM

MyISAM là bộ mở rộng của công cụ lưu trữ ISAM cũ. Các bảng MyISAM được tối ưu hóa để nén và tăng tốc độ. MyISAM cũng linh động giữa các nền tảng và hệ điều hành.

Kích thước của bảng MyISAM có thể lên đến 256TB. Ngoài ra, các bảng MyISAM có thể được nén thành các bảng chỉ đọc để tiết kiệm không gian. Khi khởi động, MySQL kiểm tra các bảng MyISAM để quản lý và thậm chí sửa chữa chúng trong trường hợp lỗi. Các bảng MyISAM liên kết không an toàn.

Trước phiên bản MySQL 5.5, MyISAM là công cụ lưu trữ mặc định khi bạn tạo một bảng mà không chỉ định rõ công cụ lưu trữ. Từ phiên bản 5.5 trở đi, MySQL đã sử dụng InnoDB làm công cụ lưu trữ mặc định.

InnoDB

Các bảng InnoDB hỗ trợ đầy đủ các liên kết và tuân thủ theo chuẩn ACID, chúng cũng tối ưu hóa cho hiệu suất. Bảng InnoDB hỗ trợ các khóa ngoại, mặc định, rollback, các hoạt động roll-forward. Kích thước của một bảng InnoDB có thể lên đến 64TB.

Giống như MyISAM, các bảng InnoDB có thể di chuyển giữa các nền tảng và hệ điều hành khác nhau. MySQL cũng kiểm tra và sửa chữa các bảng InnoDB nếu cần thiết lúc khởi động.

MERGE

Bảng MERGE là một bảng ảo kết hợp nhiều bảng MyISAM có cấu trúc tương tự với một bảng. Công cụ lưu trữ MERGE còn được gọi là công cụ MRG_MyISAM. Bảng MERGE không có chỉ mục riêng; nó sử dụng các chỉ số của các bảng thành phần thay thế.

Sử dụng bảng MERGE, bạn có thể tăng tốc hiệu suất khi tham gia nhiều bảng. MySQL chỉ cho phép bạn thực hiện các hoạt động SELECT, DELETE, UPDATEINSERT trên các bảng MERGE.

Memory

Các bảng Memory được lưu trữ trong bộ nhớ và sử dụng các chỉ mục nhỏ để chúng nhanh hơn các bảng MyISAM. Tuổi thọ của dữ liệu trong các bảng Memory phụ thuộc vào thời gian hoạt động của máy chủ MySQL. Công cụ lưu trữ Memory trước đây được gọi là HEAP.

Archive

Công cụ lưu trữ Archive cho phép bạn lưu trữ một số lượng lớn các bản ghi, với mục đích lưu trữ vào một định dạng nén để tiết kiệm dung lượng đĩa. Công cụ lưu trữ Archive nén một bản ghi khi nó được chèn vào và giải nén nó bằng cách sử dụng thư viện zlib khi nó được đọc.

Các bảng Archive chỉ cho phép các câu lệnh INSERTSELECT. Các bảng ARCHIVE không hỗ trợ các chỉ mục, do đó, nó được yêu cầu quét toàn bộ bảng để đọc các hàng.

CSV

Công cụ lưu trữ CSV lưu trữ dữ liệu ở định dạng dile có giá trị được phân tách bằng dấu phẩy (CSV). Bảng CSV giúp bạn thuận tiện di chuyển dữ liệu vào các ứng dụng không phải SQL chẳng hạn như phần mềm bảng tính.

Bảng CSV không hỗ trợ kiểu dữ liệu NULL. Ngoài ra, thao tác đọc yêu cầu quét toàn bộ bảng.

FEDERATED

Công cụ lưu trữ FEDERATED cho phép bạn quản lý dữ liệu trong máy chủ MySQL từ xa mà không cần sử dụng công nghệ sao chép. Bảng FEDERATED cục bộ không lưu trữ dữ liệu. Khi bạn truy vấn dữ liệu từ một bảng được liên kết cục bộ, dữ liệu được lấy tự động từ các bảng được liên kết từ xa.

Kết luận

Như vậy trong bài học ngày hôm nay mình đã giới thiệu cho các bạn các loại công cụ lưu trữ trong MySQL. Trong bài học tiếp theo chúng ta sẽ tìm hiểu về khóa chính(Primary key) trong MySQL.

Chúc các bạn học tập tốt!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây