sql >> Database >  >> RDS >> Mysql

Hoe het volgende gratis unieke 4-cijferige nummer te vinden

U kunt beter een tabel opslaan met alle 10.000 mogelijke waarden gedefinieerd en een "in-gebruik"-vlag op elk. Op die manier is het vrijgeven van het nummer voor hergebruik een simpele update om "inuse=false" in te stellen.

Maakt het vinden van de laagst beschikbare waarde ook heel eenvoudig

SELECT idstring
FROM idstringtable
ORDER BY idstring ASC
WHERE (available = 1)
LIMIT 1

Als u dat doet met de juiste vergrendelingen/transacties, wordt voorkomen dat twee of meer verzoeken dezelfde ID krijgen, en aangezien het een kleine tabel is, zou het uitvoeren van een algemene tabelvergrendeling geen significante invloed hebben op de prestaties.

Anders zit u vast aan de tafel van uw gebruikers en probeert u de eerste "opening" in de nummeringsreeks te vinden.



  1. Foutcode:23 Geen bronnen bij het openen van het bestand

  2. Willekeurige resultaten retourneren (volgens rand() )

  3. Selecteer ..... waar .... OF

  4. Updates voor PostgreSQL-testtools met benchmarkarchief