Nếu cur_odds
hiếm khi bị thay đổi, bạn có thể triển khai thuật toán sau:
1) Tạo một cột khác prob_sum
, dành cho
2) Tạo một số ngẫu nhiên từ 0 đến 1:
3) Tìm hàng đầu tiên cho prob_sum > rnd
(nếu bạn tạo chỉ mục BTREE trên prob_sum
, truy vấn sẽ hoạt động nhanh hơn nhiều):