Om cur_odds
ändras sällan kan du implementera följande algoritm:
1) Skapa en annan kolumn prob_sum
, för vilket
2) Generera ett slumptal från 0 till 1:
3) Hitta den första raden för vilken prob_sum > rnd
(om du skapar ett BTREE-index på prob_sum
, frågan borde fungera mycket snabbare):