我正在编写一个导入实用程序,它使用电话号码作为导入中的唯一密钥.
我需要判断我的数据库中是否还没有电话号码.问题是数据库中的电话号码可能有破折号和括号之类的东西,也可能有其他东西.我写了一个函数来删除这些东西,问题是它是slow,我的数据库中有数千条记录,需要同时导入数千条记录,这个过程可能会非常慢.我已经把电话号码列作为索引了.
I tried using the script from this post:
T-SQL trim   (and other non-alphanumeric characters)
但这并没有加快速度.
有没有更快的方法删除非数字字符?当需要比较10000到100000条记录时,它可以很好地执行.
无论做什么都需要完成fast次.
Update
为了回答我在其中编写导入实用程序的问题,它是一个C#app.我现在正在比较BIGINT和BIGINT,不需要修改DB数据,而且我仍然在使用非常小的数据集(大约2000条记录)来提高性能.
将BIGINT与BIGINT进行比较会让事情变慢吗?
我已经尽可能地优化了应用程序的代码端(删除了正则表达式,删除了不必要的DB调用).虽然我不能再将SQL作为问题的根源,但我仍然觉得它是.