Kể chuyện công việc•Jan 05, 2026
Đừng phân trang bằng offset-limit nữa 😤 — câu chuyện từ hệ thống 1,9 triệu mã dự thưởng
Làm web đủ lâu, ai cũng từng phân trang bằng OFFSET và LIMIT. Nó tiện, đơn giản, và chạy ngon lành — cho đến khi hệ thống bắt đầu phình to. Tôi cũng từng nghĩ vậy, cho đến khi tôi phát triển và vận hành dự án "Mini Game - Mã Dự Thưởng".
Hệ thống đó lưu khoảng 1,9 triệu mã. Mỗi mã dự thưởng có trạng thái, ngày tạo, hàng đống metadata khác. Người dùng muốn tra soát: xem những mã đã quét, tìm mã trúng, lọc theo thời gian, v.v. Nghe chẳng có gì đặc biệt, nhưng lúc phải phân trang danh sách đó — ác