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):