当前位置:  开发笔记 > 数据库 > 正文

TSQL"LIKE"还是正则表达式?

如何解决《TSQL"LIKE"还是正则表达式?》经验,为你挑选了1个好方法。

我在一个表中有一堆(750K)记录,我必须看到它们在另一个表中.第二个表有数百万条记录,数据如下:

源表
9999-A1B-1234X,中间部分可能长于三位数

目标表
DescriptionPhrase9999-A1B-1234X(9 pages) - 是的,parens和单词在字段中.

目前我正在运行一个.net应用程序,它加载源记录,然后运行并搜索类似的(使用tsql函数)来确定是否有任何记录.如果是,则源表更新为正数.如果没有,记录将保持不变.

该应用程序每小时处理大约1000条记录.当我在sql server上作为游标sproc执行此操作时,我的速度几乎相同.

任何想法,如果正则表达式或任何其他方法会使它更快?



1> mbeckish..:

如何在数据库中完成所有操作,而不是将记录拉入您的.Net应用程序:

UPDATE source_table s SET some_field = true WHERE EXISTS
(
     SELECT target_join_field FROM target_table t 
     WHERE t.target_join_field LIKE '%' + s.source_join_field + '%'
)

这将减少从750k更新查询到1更新的查询总数.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有