Bạn nên chuyển đổi tất cả dữ liệu sang InnoDB để ngăn chặn sự cố khóa bảng. Tuy nhiên, đây là đôi khi để suy nghĩ về:
Lập chỉ mục FULLTEXT
Hiện tại, chỉ MyISAM hỗ trợ lập chỉ mục FULLTEXT. Lập chỉ mục FULLTEXT cho InnoDB hiện đang hoạt động cho MySQL 5.6 nhưng chưa sẵn sàng sản xuất . Nếu bạn có bất kỳ bảng Drupal nào có chỉ mục FULLTEXT, chúng không thể được chuyển đổi thành InnoDB tại thời điểm này.
CẬP NHẬT về lập chỉ mục FULLTEXT
MySQL 5.6 hiện là GA (không dùng cho sản xuất). Vui lòng thử lập chỉ mục FULLTEXT trong InnoDB.
Để xác định các bảng có FULLTEXT
chỉ mục, hãy chạy truy vấn này:
SELECT table_schema,table_name
FROM information_schema.statistics
WHERE index_type='FULLTEXT';
Nếu không có hàng nào quay lại, hãy chuyển đổi tất cả các bảng InnoDB thành nội dung trái tim của bạn. Tôi đã viết một bài đăng trước đó về cách chuyển đổi tất cả các bảng MyISAM sang InnoDB chỉ bằng mysql .
Bản sao MySQL
Nếu bạn có môi trường đọc nặng, việc đọc có thể diễn ra nhanh hơn trong MyISAM nếu bạn làm như sau:
- Thiết lập bản sao Master / Slave
- Tạo một hoặc nhiều nô lệ đọc dưới Master
- Thêm
--skip-innodb
vào /etc/my.cnf trên tất cả các nô lệ (chuyển đổi bảng thành MyISAM khi tải dữ liệu vào Slave)
- Thay đổi định dạng hàng của tất cả các bảng MyISAM trên mỗi Slave thành CỐ ĐỊNH bằng lệnh này:
ALTER TABLE tblname ROW_FORMAT=FIXED;
- Tôi đã đăng một cái gì đó về điều này trong DBA StackExchange
- Cuốn sách Thiết kế và điều chỉnh cơ sở dữ liệu MySQL khuyên bạn nên sử dụng
ROW_FORMAT=FIXED
trên các trang 72,73. Điều này sẽ chuyển đổi nội bộ tất cả các trường VARCHAR thành CHAR. Nó sẽ làm cho bảng MyISAM lớn hơn, nhưng thực hiện các lệnh CHỌN đối với nó sẽ nhanh hơn nhiều. Cá nhân tôi có thể chứng thực điều này. Tôi đã từng có một bảng là 1,9 GB. Tôi đã thay đổi định dạng với ALTER TABLE tblname ROW_FORMAT=FIXED
. Bảng kết thúc 3,7 GB. Tốc độ của các CHỌN so với nó nhanh hơn 20-25% mà không cải thiện hoặc thay đổi bất cứ điều gì khác.
Điều đau đầu duy nhất với điều này là làm cho ứng dụng của bạn nhận thức được các nô lệ đọc riêng biệt.
TIẾNG VIỆT
Nếu bạn đang xem xét các lợi ích khác mà mỗi công cụ lưu trữ có, hãy kiểm tra DBA StackExchange: