अगर cur_odds
शायद ही कभी बदला जाता है, आप निम्न एल्गोरिथम को लागू कर सकते हैं:
1) एक और कॉलम बनाएं prob_sum
, जिसके लिए
2) 0 से 1 तक एक यादृच्छिक संख्या उत्पन्न करें:
3) पहली पंक्ति खोजें जिसके लिए prob_sum > rnd
(यदि आप prob_sum
. पर BTREE अनुक्रमणिका बनाते हैं , क्वेरी को बहुत तेज़ी से काम करना चाहिए):