La manera más eficiente de ... Cadena aleatoria única
Necesito insertar de manera eficiente una cadena RANDOM de 5 caracteres en una base de datos y al mismo tiempo garantizar que sea ÚNICO. Generar la cadena aleatoria no es el problema, pero actualmente lo que estoy haciendo es generar la cadena y luego verificar la base de datos si ya existe ... si es así, comienzo de nuevo.
¿Hay una manera más eficiente de hacer este proceso?
Tenga en cuenta que NO quiero usar GUID o cualquier otra cosa que tenga más de 5 caracteres ... DEBO atenerme a 5 caracteres.
PD: No creo que haga una diferencia, pero todas mis cuerdas distinguen entre mayúsculas y minúsculas.
Aquí está la porción de "cadena aleatoria"
Public Function GetRandomNumbers(ByVal numChars As Integer) As String
Dim chars As String() = { _
"A", "B", "C", "D", "E", "F", _
"G", "H", "I", "J", "K", "L", _
"M", "N", "O", "P", "Q", "R", _
"S", "T", "U", "V", "W", "X", _
"Y", "Z", "0", "1", "2", "3", _
"4", "5", "6", "7", "8", "9", _
"a", "b", "c", "d", "e", "f", _
"g", "h", "i", "j", "k", "l", _
"m", "n", "o", "p", "q", "r", _
"s", "t", "u", "v", "w", "x", _
"y", "z"}
Dim rnd As New Random()
Dim random As String = String.Empty
Dim i As Integer = 0
While i < numChars
random += chars(rnd.[Next](0, 62))
System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)
End While
Return random
End Function