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

Tôi có nên sử dụng MyISAM hoặc Bảng InnoDB cho Cơ sở dữ liệu MySQL của mình không?

Luôn sử dụng InnoDB theo mặc định.

Trong MySQL 5.1 sau này, bạn nên sử dụng InnoDB. Trong MySQL 5.1, bạn nên bật plugin InnoDB . Trong MySQL 5.5, plugin InnoDB được bật theo mặc định nên chỉ cần sử dụng nó.

Lời khuyên nhiều năm trước là MyISAM nhanh hơn trong nhiều trường hợp. Nhưng điều đó không còn đúng nếu bạn sử dụng phiên bản MySQL hiện tại.

Có thể có một số trường hợp góc kỳ lạ trong đó MyISAM hoạt động tốt hơn một chút đối với một số khối lượng công việc nhất định (ví dụ:quét bảng hoặc chỉ công việc INSERT khối lượng lớn), nhưng lựa chọn mặc định phải là InnoDB trừ khi bạn có thể chứng minh bạn có một trường hợp mà MyISAM làm tốt hơn.

Ưu điểm của InnoDB bên cạnh việc hỗ trợ giao dịch và khóa ngoại thường được đề cập bao gồm:

  • InnoDB có khả năng chống tham nhũng bảng tốt hơn MyISAM.
  • Khóa cấp hàng. Trong MyISAM, người đọc chặn người viết và ngược lại.
  • 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ả sự phát triển trong tương lai sẽ có trong InnoDB.

Xem thêm câu trả lời của tôi cho MyISAM so với InnoDB



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. đếm sai trong truy vấn

  2. Cách kết nối với MySQL bằng Perl

  3. Gettext hoặc bản dịch cơ sở dữ liệu

  4. Tương đương với boom () để làm việc với chuỗi trong MySQL

  5. Làm cách nào để in truy vấn sql chính xác trong khung công tác zend?