Schnellste Weg, um entfernen nicht-numerische Zeichen von VARCHAR in SQL Server

Schreibe ich eine import-Dienstprogramm, das verwenden von Telefonnummern, wie Sie einen eindeutigen Schlüssel innerhalb der import.

Ich brauche, um zu überprüfen, dass die Telefonnummer nicht bereits in meiner DB. Das problem ist, dass die Telefonnummern in der DB hätten die Dinge wie Bindestriche und Klammern, und möglicherweise auch andere Dinge. Ich schrieb eine Funktion zum entfernen dieser Dinge, das problem ist, dass es langsam und mit tausenden von Datensätze in meiner DB und Tausende von Datensätzen zu importieren, auf einmal, kann dieser Prozess sehr langsam. Hab ich schon gemacht und der Telefonnummer-Spalte ein index ist.

Ich habe versucht mit dem script aus diesem post:
T-SQL-trim &nbsp (und andere nicht-alphanumerische Zeichen)

Aber das hat nicht beschleunigen alle.

Ist es ein schneller Weg, um zu entfernen nicht-numerische Zeichen? Etwas, das gut performen kann, wenn 10.000 bis 100.000 Datensätze verglichen werden müssen.

Was auch immer getan durchführen muss schnell.

Update
Angesichts dessen, was Menschen reagierten darauf mit, ich glaube, ich bin zu haben, reinigen Sie die Felder aus, bevor ich das import-Dienstprogramm.

Antwort auf die Frage, was Schreibe ich das import-Dienstprogramm, es ist eine C# - app. Ich Vergleiche BIGINT, BIGINT jetzt, keine Notwendigkeit zu ändern, DB-Daten und ich bin immer noch unter einen performance-hit mit einer sehr kleinen Menge von Daten (über 2000 Datensätze).

Konnte Vergleich von BIGINT bis BIGINT werden verlangsamt Dinge nach unten?

Habe ich optimiert den code der Seite meiner app so viel wie ich kann (entfernt regexes, entfernt unnötige DB-Aufrufe). Zwar kann ich nicht isolieren SQL als Quelle der problem mehr, ich fühle mich immer noch wie es ist.

InformationsquelleAutor Dan Herbert | 2008-09-19

Schreibe einen Kommentar