我正在编写一个导入实用程序,它将电话号码用作导入中的唯一键。
我需要检查数据库中是否不存在电话号码。问题在于数据库中的电话号码可能包含破折号和括号之类的内容,也可能包含其他内容。我写了一个删除这些东西的函数,问题是它很慢,并且数据库中有成千上万的记录,并且一次要导入成千上万的记录,所以此过程可能会令人难以接受。我已经将电话号码列作为索引。
我尝试使用这篇文章中的脚本:
T-SQL trim&nbsp(和其他非字母数字字符)
但这并没有加快速度。
是否有删除非数字字符的更快方法?当必须比较10,000到100,000条记录时,某些性能会很好。
无论做什么都需要快速执行。
更新
鉴于人们的回应,我认为我将必须在运行导入实用程序之前清理字段。
为了回答我在其中编写导入实用程序的问题,它是一个C#应用程序。我现在正在将BIGINT与BIGINT进行比较,而无需更改数据库数据,而我仍然会因为很少的一组数据(大约2000条记录)而对性能造成冲击。
将BIGINT与BIGINT进行比较会降低速度吗?
我已尽我所能优化了应用程序的代码方面(删除了正则表达式,删除了不必要的数据库调用)。尽管我无法再将SQL隔离为问题的根源,但我仍然觉得确实如此。
MMMHUHU
慕莱坞森
隔江千里
相关分类