gpt4 book ai didi

sql - 我们什么时候需要 SQL Server 中的 CLR 函数?

转载 作者:行者123 更新时间:2023-12-05 08:43:12 27 4
gpt4 key购买 nike

我想知道什么时候需要在 SQL Server 中使用 CLR 函数。

Some says that CLR is mainly used to accomplish task which are not possible by T-SQL. But I can't figure out a good example for T-SQL failed to give me my exact output.

有人能给我一个无法通过 T-SQL 完成的确切示例吗?

sample 将不胜感激!

最佳答案

问什么时候 SQLCLR 需要是错误的思考方式。与大多数其他技术一样,这是完成某些任务和/或解决某些问题的一种方法,但总有变通办法。真正的问题是什么时候使用 SQLCLR 适合 来解决特定问题。从这个意义上讲,有一系列事情要么在 SQLCLR 中更容易完成,要么在 T-SQL 中根本无法完成。

我在以下文章中发布了一份相当全面的 SQLCLR 功能列表 Stairway to SQLCLR Level 1: What is SQLCLR? (需要免费注册)。由于该站点需要注册,甚至是免费注册,因此我已在下面复制了该列表。有关每一点的更详细解释和一些其他信息,请参阅该链接文章。

只能在 SQLCLR 中完成

在 SQLCLR 中更容易

  • 生成 GUID
  • 生成一个随机数
  • 修改状态
  • 执行存储过程(在函数中——标量或 TVF——但它必须是只读的)

性能

比较 T-SQL 和 CLR 对象之间的性能是一个更复杂的话题。首先,您实际上只能比较它们之间相同的功能。然后你必须考虑正在完成的逻辑类型,如果比较功能,是否在两种类型的代码中有效地完成了逻辑它是通过 SET 语句还是多行查询等运行。

Microsoft 有一些指南 ( Performance of CLR Integration ) 说明哪些情况更适合基于 CLR 的对象。如果您将使用 SQLCLR 对象,那么您至少应该了解该信息。然而,这一切都归结为测试,而这一切都是可测试的。我在 2011 年 7 月对这个主题做了一些研究,在这里发表我的发现:https://www.simple-talk.com/sql/t-sql-programming/clr-performance-testing/ .

示例

有很多可以做的例子,例如:

  • 正则表达式
  • 文件系统功能
  • 网络/网络/网络服务相关
  • 字符串分割
  • 自定义聚合
  • 导出数据
  • 等等...

有关可以完成的事情的更全面列表,请查看 SQL#库(我是其作者),它有一个免费版本,带有 RegEx 函数等等。还有一个付费/完整版本,具有额外的文件系统、网络等功能。

SQL Server Central(需要免费注册的站点)上各种文章中的附加示例:

关于sql - 我们什么时候需要 SQL Server 中的 CLR 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33344051/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com