Bỏ qua, tới nội dung chính

Góc chuyên môn

Kinh nghiệm tối ưu truy vấn cho hệ thống có hàng triệu bản ghi

Phạm Quốc Duy 22/06/2026 1,721 lượt xem
Kinh nghiệm tối ưu truy vấn cho hệ thống có hàng triệu bản ghi

Ba kỹ thuật đơn giản giúp báo cáo từ chờ vài chục giây xuống dưới một giây mà không cần đổi hạ tầng.

Khi dữ liệu vượt vài triệu dòng, các màn hình báo cáo thường là nơi chậm đầu tiên. Trước khi nghĩ tới việc nâng cấp máy chủ, hãy thử ba việc sau.

Thứ nhất, kiểm tra chỉ mục. Rất nhiều truy vấn chậm chỉ vì thiếu một chỉ mục trên cột dùng để lọc hoặc sắp xếp. Đây là thay đổi rẻ nhất và cho kết quả rõ nhất.

Thứ hai, tránh truy vấn lồng trong vòng lặp. Đây là lỗi kinh điển khi dùng ORM: mỗi dòng hiển thị lại phát sinh thêm một truy vấn con. Nạp sẵn quan hệ trước vòng lặp thường giảm hàng trăm truy vấn xuống còn hai.

Thứ ba, với báo cáo tổng hợp không cần chính xác tới từng giây, hãy tính sẵn theo lịch và lưu vào bảng riêng. Người dùng đọc từ bảng đã tính sẵn thay vì tổng hợp lại mỗi lần mở màn hình.