innodb la gi

MyISAM và InnoDB là nhì engine tàng trữ tài liệu table thịnh hành bên trên MySQL. Vậy MyISAM và InnoDB sở hữu gì không giống nhau? Nên dùng engine tàng trữ này mang đến table data nhập MySQL?

Khi tạo nên một table nhập MySQL, chúng ta có thể lựa chọn một engine tàng trữ. Đây đó là cơ hội table data được tàng trữ nhập tệp tin. Dường như, cũng đều có nhiều engine tàng trữ không giống nhau. Nhưng những engine được dùng thịnh hành nhất là MyISAM và InnoDB. Cả nhì đều là engine tàng trữ khoác toan trong những phiên phiên bản MySQL không giống nhau.

Bạn đang xem: innodb la gi

Nếu các bạn không những toan engine tàng trữ Lúc tạo nên table, engine khoác toan mang đến phiên phiên bản MySQL sẽ tiến hành dùng. Trong những phiên phiên bản MySQL trước 5.5.5, MyISAM là khoác toan. Với những phiên phiên bản 5.5.5 trở lên trên, thì InnoDB là khoác toan. Trong đa số những tình huống, MyISAM được khuyến nghị dùng. Nhưng thỉnh thoảng thì InnoDB cũng hoàn toàn có thể được dùng để thay thế thế.

Phân tích MyISAM và InnoDB

Khi này thì dùng MyISAM thay cho mang đến InnoDB?

  • Nói công cộng, nếu như một table MyISAM bắt gặp trường hợp hi hữu, thì trường hợp hi hữu sẽ tiến hành số lượng giới hạn nhập table cơ. Nó ko tác động cho tới những tác dụng của những table hoặc hạ tầng tài liệu không giống. InnoDB thì không giống, những lỗi hoàn toàn có thể Viral tác động quý phái những table không giống. Vì nguyên do này, tớ nên dùng MyISAM trong những server với khá nhiều trang web.

Khi này thì dùng InnoDB?

  • InnoDB dùng row-level locking nhiều hơn thế nữa là table-level locking. Nên dùng InnoDB cho những table ví dụ được ghi thông thường xuyên hoàn toàn có thể hùn rời thời hạn hóng locking. Vấn đề này hoàn toàn có thể thực hiện rời đáng chú ý việc dùng bộ nhớ lưu trữ nhập server.
  • Một phần vì như thế hạ tầng tài liệu (CSDL) dùng table InnoDB ko thể được phục sinh riêng biệt lẻ như Partial VPS Restore. Và 1 phần vì như thế một số trong những trường hợp hi hữu với table InnoDB hoàn toàn có thể tạo nên bao nhiêu tài liệu trong những table không giống. Do cơ những phiên bản sao lưu tự động hóa cần được kích hoạt, nếu như sở hữu ngẫu nhiên trang này đang được dùng InnoDB.
  • Một phần vì như thế những yếu tố với table InnoDB hoàn toàn có thể tác động cho tới quyền truy vấn nhập những hạ tầng tài liệu không giống.

Khi này tránh việc dùng cả MyISAM và InnoDB?

  • Hầu không còn những loại trang web tàng trữ vấn đề phiên bên dưới dạng tệp tin. Nhưng nếu như nó cần được tàng trữ nhập table CSDL, thì MEMORY hoàn toàn có thể là lựa lựa chọn chất lượng tốt rộng lớn MyISAM và InnoDB.
  • Tương tự động, một số trong những loại tài liệu bộ nhớ lưu trữ cache của trang web nếu như được tàng trữ nhập table CSDL thì nên dùng dụng cụ MEMORY.

Cách thay cho thay đổi dụng cụ tàng trữ của table

Nếu bạn đã sở hữu sẵn một table và cần thiết thay cho thay đổi qua 1 dụng cụ mới nhất. quý khách hàng hoàn toàn có thể dùng mệnh lệnh ALTER TABLE:

mysql> ALTER TABLE dbname.tablename ENGINE = enginename;

Nếu các bạn quí dùng phpMyAdmin rộng lớn, các bạn sẽ hãy chọn table:

myisam và innodb

Chọn nhập tab “Operations“:

chọn Operations nhập phpMyAdmin

Chọn dụng cụ mong muốn nhưng mà mình thích dùng nhập phần “Storage Engine

chọn loại Storage Engine

Nhấp nhập nút “Go

thiết lập Storage Engine

Và vì vậy là các bạn đang được thay cho thay đổi dụng cụ tàng trữ mang đến table thành công xuất sắc.

Xem thêm: Bongdalu - Trang thông tin bóng đá trực tuyến hàng đầu Việt Nam

WordPress Hosting

Chương trình trình làng cty WordPress Hosting free 500 kiểu website

Giải quí kỹ thuật

Dưới đó là một số trong những vấn đề cụ thể rộng lớn về những dụng cụ tàng trữ. Phần này tiếp tục phân tích và lý giải vì sao những dụng cụ lại sở hữu mục tiêu dùng không giống nhau.

Điểm tương đương thân thiết MEMORY, MyISAM và InnoDB

Bất kỳ hạ tầng tài liệu table này, cho dù dùng dụng cụ tàng trữ này, đều sở hữu tệp tin .frm. Tên của tệp tin này tiếp tục là tên gọi table, theo đòi sau là phần không ngừng mở rộng tệp tin này. File này chứa chấp table metadata, ví dụ như khái niệm table. Tùy nằm trong nhập engine của table nhưng mà hoàn toàn có thể sở hữu hoặc không chỉ tệp tin được link với table.

MyISAM

  • Một table MyISAM sở hữu tổng số 3 tệp tin. Ngoài tệp tin .frm nhưng mà toàn bộ những table đều sở hữu, còn tồn tại tệp tin .MYD chứa chấp tài liệu table. Cùng với này đó là tệp tin .MYI chứa chấp những index.
  • Bởi vì như thế MyISAM tàng trữ toàn bộ vấn đề table thẳng nhập 3 tệp tin của table cơ. Nên một table bị lỗi sẽ không còn tác động thẳng cho tới tác dụng của những table không giống.
  • Nếu cần thiết, chúng ta có thể phục sinh một CSDL đơn lẻ kể từ Partial VPS Restore. Với ĐK là toàn bộ những table nhập CSDL này đều đang được dùng MyISAM.

InnoDB

Một table InnoDB sẽ sở hữu một hoặc nhì tệp tin, tùy nằm trong nhập việc innodb_file_per_table dành được nhảy hay là không.

  • Cho cho dù nó được nhảy hay là không, table luôn luôn sở hữu tệp tin .frm.
  • Nếu nó được nhảy, cũng sẽ sở hữu một tệp tin .ibd, chứa chấp tài liệu table và index.
  • Nếu ko được nhảy, tài liệu table và index mang đến toàn bộ những table sẽ tiến hành tàng trữ nhập vùng table khối hệ thống.
  • Do cỗ đệm thay cho thay đổi, trong cả Lúc innodb_file_per_table được kích hoạt, những thay cho thay đổi mới gần đây vẫn không được ghi nhập tệp tin table. Đây là nguyên do vì sao những CSDL chứa chấp những table InnoDB ko thể được phục sinh riêng biệt lẻ. Vì vậy cần thiết nhảy phục sinh tự động hóa với table InnoDB.
  • InnoDB sở hữu tiến độ phục sinh trường hợp hi hữu tự động hóa. Khi mysql dừng gấp, InnoDB sở hữu một số trong những đánh giá chắc chắn chạy Lúc phát động mysql. Phần rộng lớn quy trình phục sinh trường hợp hi hữu này tiếp tục đoạn những thay cho thay đổi trước lúc xẩy ra trường hợp hi hữu. Và cũng tiếp tục trả tác những thay cho thay đổi đang được ra mắt tuy nhiên không được khẳng định. Tuy nhiên, thỉnh thoảng quy trình này sẽ không thành công xuất sắc, quan trọng đặc biệt nếu như InnoDB đang được hoạt động và sinh hoạt Lúc MySQL ko được shutdown đúng cách dán. Khi cơ, MySQL tiếp tục trọn vẹn ko thể phát động. Và không tồn tại CSDL này hoàn toàn có thể truy vấn được.
  • Ngoài đi ra, nếu như InnoDB bắt gặp trường hợp hi hữu và ko thể tự động hóa phục sinh, một số trong những table InnoDB hoàn toàn có thể bị lỗi, ko thể thay thế sửa chữa được. Do cơ việc nhảy sao lưu tự động hóa mang đến table InnoDB càng cần thiết hơn thế nữa.

MEMORY

  • Một table MEMORY tiếp tục có duy nhất một tệp tin .frm. Tương tự động như MyISAM và InnoDB, tệp tin này chứa chấp khái niệm table. Dữ liệu table chỉ được tàng trữ nhập bộ nhớ lưu trữ.
  • Nếu mysql được phát động lại, tài liệu nhập table MEMORY có khả năng sẽ bị tổn thất. Vấn đề này hoàn toàn có thể ko trở thành yếu tố nếu như này đó là tài liệu trong thời điểm tạm thời.
  • table MEMORY sẽ không còn khi nào được ghi nhập đĩa. table MEMORY ko được vượt lên trước quá độ cao thấp được chỉ định và hướng dẫn vì thế max_heap_table_size. Nếu table đang được filling, các bạn sẽ cần thiết thêm thắt nhiều địa điểm rộng lớn nhập luyện mệnh lệnh trang web điểm table bị rỗng.
  • table MEMORY, tựa như table MyISAM, dùng khóa table-level cho những hoạt động và sinh hoạt chắc chắn. Nhưng vì như thế những thay cho thay đổi ko được ghi nhập đĩa, điều này vẫn thông thường nhanh chóng rất là nhiều đối với những hoạt động và sinh hoạt tương tự động nhập table MyISAM.
  • Vì tài liệu kể từ table MEMORY bị tổn thất Lúc phát động lại mysql, tài liệu table MEMORY bị lỗi ko thể ngăn mysql phát động.
  • Table MEMORY nên làm được dùng mang đến tài liệu trong thời điểm tạm thời, ko liên tiếp.

Kết luận

Nếu một table được bao hàm trọn vẹn vì thế tài liệu trong thời điểm tạm thời, nên tàng trữ nó trong những table MEMORY. Việc này hùn nâng cao cả vận tốc lộn tài năng phân loại.

Xem thêm: tung hoành cổ đại

Khi một table ko thông thường xuyên được ghi, nhất là bên trên một sever có khá nhiều trang web. Thì cơ hội đáng tin cậy nhất là tàng trữ nó bên dưới dạng MyISAM. Để dự phòng việc phục sinh InnoDB ko thành công xuất sắc.

Nếu một table thông thường xuyên được ghi và chứa chấp tài liệu ko lâu lâu năm, thì nên được tàng trữ bên dưới dạng InnoDB. Việc này nhằm mục đích ngăn ngừa tuyên chiến đối đầu và cạnh tranh khóa dùng rất nhiều khoáng sản sever. Nếu dùng InnoDB cho 1 table, cần thiết đáp ứng cPanel đang được nhảy sao lưu tự động hóa. Nếu một trang web đầy đủ ‘bận’ nhằm cần dùng những table InnoDB. Thì hoàn toàn có thể đang đi tới khi lưu ý đến việc bịa trang cơ lên server riêng biệt của nó. Việc này hùn ngăn ngừa lỗi InnoDB tác động cho tới những trang không giống.

Vietnix kỳ vọng sau thời điểm tìm hiểu hiểu sự không giống nhau thân thiết MyISAM và InnoDB, những các bạn sẽ hoàn toàn có thể lựa lựa chọn được dụng cụ tàng trữ phù phù hợp với mục tiêu dùng của mình!

banner hosting gif