Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Khi nào sử dụng MyISAM và InnoDB?

Đọc về Công cụ lưu trữ .

MyISAM:

MyISAM công cụ lưu trữ trong MySQL.

  • Đơn giản hơn để thiết kế và tạo, do đó tốt hơn cho người mới bắt đầu. Không phải lo lắng về mối quan hệ ngoại lai giữa các bảng.
  • Nhanh hơn InnoDB về tổng thể do cấu trúc đơn giản hơn, do đó chi phí tài nguyên máy chủ ít hơn nhiều. - Hầu như không còn đúng nữa.
  • Lập chỉ mục toàn văn bản. - InnoDB đã có nó ngay bây giờ
  • Đặc biệt tốt cho các bảng (chọn lọc) cần đọc nhiều. - Hầu như không còn đúng nữa.
  • Dung lượng đĩa ít hơn InnoDB gấp 2 - 3 lần. - Kể từ Phiên bản 5.7, đây có lẽ là lợi thế thực sự duy nhất của MyISAM.

InnoDB:

InnoDB công cụ lưu trữ trong MySQL.

  • Hỗ trợ cho các giao dịch (cung cấp cho bạn hỗ trợ cho ACID tài sản).
  • Khóa cấp hàng. Có một cơ chế khóa chi tiết hơn mang lại cho bạn sự đồng thời cao hơn, chẳng hạn như MyISAM .
  • Ràng buộc khóa ngoại. Cho phép bạn để cơ sở dữ liệu đảm bảo tính toàn vẹn của trạng thái cơ sở dữ liệu và mối quan hệ giữa các bảng.
  • InnoDB có khả năng chống tham nhũng bảng tốt hơn MyISAM.
  • Hỗ trợ vùng đệm lớn cho cả dữ liệu và chỉ mục. Bộ đệm khóa MyISAM chỉ dành cho các chỉ mục.
  • MyISAM bị đình trệ; tất cả các cải tiến trong tương lai sẽ có trong InnoDB. Điều này đã được thể hiện rất rõ ràng khi ra mắt Phiên bản 8.0.

Hạn chế của MyISAM:

  • Không có khóa ngoại và xóa / cập nhật theo tầng
  • Không có tính toàn vẹn của giao dịch (tuân thủ ACID)
  • Không có khả năng khôi phục
  • 4.284.867.296 giới hạn hàng (2 ^ 32) - Đây là mặc định cũ . Giới hạn có thể định cấu hình (đối với nhiều phiên bản) là 2 ** 56 byte.
  • Tối đa 64 chỉ mục cho mỗi bảng

Hạn chế của InnoDB:

  • Không có lập chỉ mục văn bản đầy đủ (Phiên bản mysql dưới 5.6)
  • Không thể nén để nhanh, chỉ đọc (5.5.14 đã giới thiệu ROW_FORMAT=COMPRESSED )
  • Bạn không thể sửa chữa bảng InnoDB

Để hiểu ngắn gọn, hãy đọc các liên kết bên dưới:

  1. MySQL Engines:InnoDB so với MyISAM - So sánh các Ưu điểm
  2. Công cụ MySQL:MyISAM so với InnoDB
  3. Sự khác biệt chính giữa InnoDB và MyISAM là gì?
  4. MyISAM so với InnoDB
  5. Sự khác biệt giữa MyISAM và InnoDB là gì?
  6. MySql:MyISAM so với Inno DB!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách khắc phục lỗi kết nối cơ sở dữ liệu MySQL JDBC 08001

  2. MySQL RAND () Hàm - Tạo một số ngẫu nhiên trong MySQL

  3. Sử dụng Python và MySQL trong Quy trình ETL:SQLAlchemy

  4. Cách tùy chỉnh bản sao lưu MySQL &MariaDB của bạn với ClusterControl

  5. 3 cách để “Unhex” một chuỗi trong MySQL