Najbardziej wydajny sposób na… unikalny losowy ciąg
Muszę efektywnie wstawić 5-znakowy ciąg RANDOM do bazy danych, zapewniając jednocześnie, że jest to UNIKALNE. Generowanie losowego ciągu nie jest problemem, ale obecnie to, co robię, to generowanie ciągu, a następnie sprawdzenie DB, jeśli już istnieje ... jeśli tak, zaczynam od nowa.
Czy istnieje skuteczniejszy sposób na wykonanie tego procesu?
Pamiętaj, że NIE chcę używać identyfikatora GUID ani niczego więcej niż 5 znaków .... Muszę trzymać się 5 znaków.
PS: Nie sądzę, żeby to miało znaczenie, ale wszystkie moje łańcuchy są wrażliwe na wielkość liter.
Oto część „Random String”
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