CodeReady
Quay lại danh sách case study

Tối ưu hiệu năng API truy vấn dữ liệu lớn

Cải thiện tốc độ phản hồi của API danh sách sản phẩm bằng cách phân trang và chọn lọc trường dữ liệu.

Bối cảnh

Một API trả về danh sách sản phẩm trên trang thương mại điện tử mất tới 5 giây để phản hồi do bảng dữ liệu có hàng trăm ngàn bản ghi.

Vấn đề cần xử lý

API thực hiện câu lệnh lấy toàn bộ bảng dữ liệu mà không phân trang, đồng thời trả về quá nhiều thông tin không cần thiết qua mạng.

Hướng xử lý đề xuất

Áp dụng kỹ thuật phân trang dạng giới hạn và bỏ qua, đồng thời chỉ chọn các trường dữ liệu thực sự cần thiết để hiển thị trên giao diện.

Câu trả lời mẫu khi phỏng vấn

Em đã đề xuất áp dụng phân trang limit và skip cho API, kết hợp với việc chọn lọc các trường cần thiết qua câu lệnh select để giảm tải lượng dữ liệu truyền qua mạng.

Trade-off

Phân trang dạng skip có thể chậm đi khi dữ liệu quá lớn, về lâu dài cần chuyển sang phân trang dạng con trỏ cursor-based pagination.

Kết quả kỳ vọng

Thời gian phản hồi của API giảm từ 5 giây xuống dưới 200 mili-giây, trải nghiệm người dùng mượt mà hơn rất nhiều.

Bài học khi trả lời phỏng vấn

Không bao giờ trả về toàn bộ dữ liệu lớn trong một lần gọi API, luôn áp dụng phân trang và giới hạn dữ liệu.