Si cur_odds est rarement modifié, vous pouvez implémenter l'algorithme suivant :
1) Créez une autre colonne prob_sum , pour lequel
2) Générez un nombre aléatoire de 0 à 1 :
3) Trouver la première ligne pour laquelle prob_sum > rnd (si vous créez un index BTREE sur le prob_sum , la requête devrait fonctionner beaucoup plus rapidement) :