0

好的,我意识到 SS 2008 没有本机正则表达式函数。我还看到可以使用 CLR 添加它们。我在http://msdn.microsoft.com/en-us/magazine/cc163473.aspx找到了正则表达式 CLR ,但我不知道如何处理它们。

所以我有2个问题。正则表达式仅在针对 2 个字段导入记录(一次最多 1,000,000 条,一年最多 50,000,000 条)时使用。

第一个问题。我可以在我的代码(ASP.NET)中一次手动完成 1 条记录,我知道这会影响性能,但不知道有多大。对此有任何意见吗?

第二个问题。有人可以向我指出有关如何安装我下载的 CLR 文件的简单分步说明吗?我尝试进行搜索,但要么没有显示我需要的信息,要么太埋没在其他信息中,我无​​法找到它。

谢谢

PS 我正在运行 SS 2008(不是 R2)和 VS.NET 2008。

4

2 回答 2

1

请参阅此处的文章以获取完整的教程。

于 2012-05-17T18:12:16.567 回答
0

如果您只需要 REGEX 进行数据加载,那么您可以在 ASP.NET 中一次执行一条记录。即使使用 SQL CLR 集成,您也将一次执行一条记录,因为 SQL 一次将传递一条记录的值。如果您想在 where 子句中使用 REGEX 作为条件,那么 SQL CLR 集成将是唯一的选择。

我正在做的是一次解析一行。一行将导致 1 - 5 个 SQL 插入。然后我做那些 SQL 插入异步。如果下一个解析在插入之前完成,我会等待。在我的情况下,它是关于死气沉沉的,所以我得到了并行处理。如果 SQL 调用正则表达式,则您仅限于串行处理。

我解析和加载数据很多。如果您关心速度,请多关注 SQL 方面而不是解析。我什至禁用 SQL 索引解析和加载 1000 万条记录,然后重建索引。一次正则表达式一行通常比 SQL 插入快,除非 SQL 表没有索引。

于 2012-05-17T18:21:06.017 回答