Si cur_odds
se cambia rara vez podría implementar el siguiente algoritmo:
1) Crea otra columna prob_sum
, por lo que
2) Generar un número aleatorio del 0 al 1:
3) Encuentra la primera fila para la cual prob_sum > rnd
(si crea un índice BTREE en el prob_sum
, la consulta debería funcionar mucho más rápido):