Nếu bạn cần đồng thời các CẬP NHẬT và XÁC NHẬN nặng, bạn sẽ muốn InnoDB
Nếu bạn cần độ phân giải bế tắc, bạn sẽ muốn InnoDB
Nếu bạn muốn một công cụ lưu trữ lưu trữ cả dữ liệu và chỉ mục, bạn sẽ muốn InnoDB
Nếu bạn muốn truy cập nhiều CPU hiệu quả, bạn sẽ muốn InnoDB ( và điều chỉnh nó để làm như vậy )
Vui lòng tham khảo các bài viết trước đây của tôi trên InnoDB:
Feb 12, 2011
: Làm thế nào để bạn điều chỉnh MySQL cho một khối lượng công việc InnoDB nặng?
Apr 14, 2011
: Sự khác biệt chính giữa InnoDB và MyISAM là gì?
Aug 04, 2011
: Tối ưu hóa cài đặt mặc định của InnoDB
Oct 05, 2011
: Truy vấn chạy một thời gian dài trong một số phiên bản MySQL mới hơn
Dec 19, 2011
: Cái nào đầu tiên: nâng cấp phiên bản mysql hoặc chuyển đổi công cụ lưu trữ?
Jan 09, 2012
: Có bất kỳ vấn đề nào với việc chuyển đổi từ MyISAM sang InnoDB không?
Jan 27, 2012
: nhập cơ sở dữ liệu myisam 5.0 vào máy chủ innodb 5.5
Jan 18, 2012
: Bảng InnoDB nặng không sử dụng tất cả CPU của tôi
Jan 21, 2012
: InnoDB Engine có tăng tốc so với Memory Engine không?
Jul 16, 2012
: giảm hiệu suất của thủ tục được lưu trữ khi di chuyển từ máy chủ mysql 5.0 xuống 5.5
Bạn nói rằng bạn đã nghe nói rằng MySQL 5.5 nhanh hơn MySQL 5.0. Ra khỏi hộp, điều đó không đúng. BẠN PHẢI CHẠM MySQL 5.5 để có được HIỆU QUẢ TUYỆT VỜI !!! Đây là những bài viết trước đây của tôi về chủ đề đó:
Bạn đã đề cập MyISAM nhanh hơn InnoDB. Nếu có nhiều cột VARCHAR rộng trong MyISAM với ROW_FORMAT = Dynamic (Mặc định) mặc định, điều đó có thể làm giảm hiệu suất MyISAM. Nói một công cụ lưu trữ nhanh hơn công cụ lưu trữ phụ thuộc vào ứng dụng, tỷ lệ I / O đọc / ghi, điều chỉnh công cụ lưu trữ.
Xem bài viết của tôi xung quanh chủ đề này
Giải quyết vấn đề của bạn về việc chuyển đổi bây giờ hay sau này sang InnoDB:
Trong liên kết thứ năm tôi cung cấp ( Đầu tiên: nâng cấp phiên bản mysql hoặc chuyển đổi công cụ lưu trữ? ), Tôi khuyên bạn nên chuyển đổi trước. Tuy nhiên, trong trường hợp cụ thể của bạn, tôi sẽ khuyên bạn nên chuyển đổi sau. Lý do rất đơn giản: Bạn đang di chuyển dữ liệu đến một máy chủ khác. Bảng MyISAM rất dễ dàng để cổng. Việc thực hiện rsync hoặc scp của / var / lib / mysql sẽ hiệu quả hơn (nhanh hơn) khi chuyển đổi sang InnoDB vì dữ liệu sẽ hơi lớn (đôi khi đáng kể) khi tồn tại dưới dạng InnoDB.
Có hai điều bạn sẽ cần phải làm:
CẦN # 1
Nếu bạn rysnc / scp, /var/lib/mysql
bạn sẽ ghi đè / var / lib / mysql / mysql. Do đó, tôi đề nghị bạn di chuyển dữ liệu của mình như thế này:
CẦN # 2
Bạn cần một tập lệnh đơn giản để chuyển đổi MyISAM sang InnoDB. Vui lòng chạy như sau trên Máy chủ DB MySQL 5.5:
echo "SET SQL_LOG_BIN = 0;" > /root/ConvertMyISAMToInnoDB.sql
MYSQL_CONN="-u... -p..."
mysql ${MYSQL_CONN} -AN -e"SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;') InnoDBConversionSQL FROM information_schema.tables WHERE engine='MyISAM' AND table_schema NOT IN ('information_schema','mysql','performance_schema') ORDER BY (data_length+index_length)" > /root/ConvertMyISAMToInnoDB.sql
less /root/ConvertMyISAMToInnoDB.sql
Khi bạn hài lòng với tập lệnh chuyển đổi, hãy đăng nhập vào mysql trên MySQL 5.5 và chạy
mysql> source /root/ConvertMyISAMToInnoDB.sql
Hãy thử một lần !!!