Pokud cur_odds se mění jen zřídka, můžete implementovat následující algoritmus:
1) Vytvořte další sloupec prob_sum , pro které
2) Vygenerujte náhodné číslo od 0 do 1:
3) Najděte první řádek, pro který je prob_sum > rnd (pokud vytvoříte index BTREE na prob_sum , dotaz by měl fungovat mnohem rychleji):