आप परिभाषित सभी 10,000 संभावित मूल्यों के साथ एक तालिका को संग्रहीत करने से बेहतर होंगे, और प्रत्येक पर एक "इन-यूज़" ध्वज। इस तरह, पुन:उपयोग के लिए नंबर जारी करना "inuse=false" सेट करने के लिए एक आसान अपडेट है।
न्यूनतम उपलब्ध मूल्य को खोजना भी आसान बनाता है
SELECT idstring
FROM idstringtable
ORDER BY idstring ASC
WHERE (available = 1)
LIMIT 1
उचित लॉक/लेन-देन के साथ ऐसा करने से दो या दो से अधिक अनुरोधों को एक ही आईडी प्राप्त होने से रोका जा सकेगा, और चूंकि यह एक छोटी तालिका है, इसलिए वैश्विक टेबल लॉक करने से प्रदर्शन पर महत्वपूर्ण प्रभाव नहीं पड़ेगा।
अन्यथा, आप क्रमांकन क्रम में पहला "अंतर" खोजने की कोशिश करते हुए, अपनी उपयोगकर्ता तालिका के आसपास अफवाह फैलाते रहेंगे।