Hiệu suất database là yếu tố quyết định tốc độ của toàn bộ ứng dụng. Dưới đây là 10 thủ thuật thực tế giúp query MySQL của bạn chạy nhanh hơn đáng kể.
1. Luôn Dùng INDEX Đúng Chỗ
-- Kiểm tra query có dùng index không
EXPLAIN SELECT * FROM posts WHERE user_id = 1 AND status = 'publish';
-- Tạo composite index
ALTER TABLE posts ADD INDEX idx_user_status (user_id, status);
2. Tránh SELECT *
Chỉ lấy những cột bạn thực sự cần. SELECT * gây lãng phí băng thông và bộ nhớ, đặc biệt với bảng có nhiều cột TEXT/BLOB.
3. Dùng LIMIT Khi Có Thể
-- Xấu
SELECT * FROM posts WHERE status = 'publish';
-- Tốt
SELECT id, title, created_at FROM posts
WHERE status = 'publish'
ORDER BY created_at DESC
LIMIT 10;
4. Tối Ưu JOIN
Đảm bảo các cột JOIN đều có INDEX. Thứ tự bảng trong JOIN cũng ảnh hưởng đến performance.
5. Dùng Query Cache Hợp Lý
Với dữ liệu ít thay đổi, hãy cache kết quả query ở application layer thay vì query lại database mỗi request.
Áp dụng ngay những thủ thuật này vào project của bạn và dùng EXPLAIN để đo lường kết quả!