Je dois avoir des ID de texte dans mon application. Par exemple, nous avons un jeu de caractères azAZ09 acceptable, et une plage autorisée d'identifiants [aaa] - [cZ9]. Le premier identifiant généré serait aaa, puis aab, aac, aad e.t.c.MySQL: incrémentation de l'ID de texte dans la base de données
Comment peut-on retourner l'ID & incrémenter la limite inférieure en mode transaction? (Pour autant qu'il y ait des centaines de requêtes simultanées et que toutes aient des résultats corrects)
Pour réduire la charge, je suppose qu'il est possible de définir, disons, 20 plages distinctes, et de renvoyer l'identifiant de la plage aléatoire - cela devrait réduire la contention, mais ce n'est pas clair comment faire une seule opération en premier lieu.
Veuillez également noter que le nombre d'ID dans la plage peut dépasser 2^32.
Une autre idée est d'avoir des plages d'entiers de 64 bits, et de convertir un id entier-> char dans le code logiciel, où cela pourrait être fait de manière non-cryptée.
Des idées?
Vous ne pouvez pas simplement utiliser un type entier et le convertir en cas de besoin? – PeeHaa
Oui, je peux. Cela ne résout pas encore la tâche - j'ai toujours besoin d'un support de gamme autorisé - ce qui signifie que l'auto-incrémentation habituelle ne fera pas l'affaire. – BarsMonster