Trên máy chủ của tôi với cấu hình của bạn, hiệu suất cơ bản của tôi như sau:
- InnoDB:5,71 giây
- MyISAM:2,50 giây
Điều này không tệ trong cuốn sách của tôi, nhưng nó có thể sử dụng một số điều chỉnh.
Hiệu suất InnoDB của bạn có thể được cải thiện trên một số mặt:
Tăng innodb_buffer_pool_size
- Đây là biến cấu hình InnoDB quan trọng nhất. Lý tưởng nhất là 70-80% RAM khả dụng của bạn trên máy chủ dành riêng cho MySQL and InnoDB.
- Tăng
innodb_buffer_pool_size
trên máy chủ của tôi xuống 2G (quá đủ cho thử nghiệm này) đã giảm thời gian InnoDB thành 4,60 giây
Đặt id làm KHÓA CHÍNH
- InnoDB phân cụm dữ liệu của nó dựa trên PRIMARY KEY. Khi bạn không khai báo, InnoDB sẽ hoàn toàn tạo ra một ngẫu nhiên. Việc có một khóa chính (id) tuần tự sẽ nhanh hơn một khóa ngẫu nhiên.
- Đặt id làm KHÓA CHÍNH trên máy chủ của tôi đã giảm thời gian InnoDB thành 3,80 giây
Nâng cấp MySQL / InnoDB của bạn
Với MySQL 5.1+ MySQL hỗ trợ các công cụ lưu trữ có thể cắm được. Cụ thể là Plugin InnoDB mới .
Công cụ InnoDB mới cung cấp nhiều cải tiến hiệu suất mà có thể có ảnh hưởng đáng kể đến loại truy vấn cụ thể này.
Lưu ý:
- Kể từ MySQL 5.1.38, Plugin InnoDB được bao gồm trong MySQL
- Kể từ MySQL 5.1.43, Plugin InnoDB không chỉ được bao gồm mà còn là công cụ mặc định cho MySQL