1. Câu lệnh tối ưu đơn giản
MySQL cung cấp sẵn một công cụ dòng lệnh gọi là mysqlcheck. Bạn chỉ cần chạy lệnh sau trên server (áp dụng cho cả CentOS và Ubuntu):
mysqlcheck -o --all-databases
Lệnh trên sẽ:
- Kiểm tra tất cả cơ sở dữ liệu hiện có
- Tự động tối ưu các bảng nếu phát hiện có phân mảnh
- Không yêu cầu tắt MySQL khi chạy (nên có thể thực hiện live)
2. Lưu ý trước khi thao tác
- Nên chạy bằng tài khoản có quyền root hoặc sử dụng
sudo - Cần đảm bảo bạn có quyền truy cập vào MySQL qua command-line
- Với website lớn, thao tác này có thể mất vài giây đến vài phút
3. Sao lưu trước khi tối ưu (nên làm)
Dù lệnh trên an toàn, bạn vẫn nên sao lưu cơ sở dữ liệu trước khi thực hiện để tránh mất mát dữ liệu không mong muốn. Bạn có thể tham khảo hướng dẫn chi tiết tại đây:
Kết luận
Việc tối ưu hóa cơ sở dữ liệu nên được thực hiện định kỳ, đặc biệt với các website có lưu lượng cao hoặc sử dụng MySQL lâu năm. Chỉ với một lệnh đơn giản, bạn có thể cải thiện hiệu năng truy vấn và đảm bảo hệ thống hoạt động ổn định hơn.
Bình luận