SQL clr对数据库有影响吗

SQL clr对数据库有影响吗,第1张

没有影响,同时解决了好多问题,只有好处。

1、 SQLCLR提供编程结构使数据 *** 作和计算更加容易。

T-SQL 专门为数据库中的直接数据访问和 *** 作而设计。尽管 T-SQL 在数据访问和管理方面领先,但是它没有提供编程结构来使数据 *** 作和计算更加容易。例如,T-SQL 不支持数组、集合、for-each 循环、位转移或类。尽管在 T-SQL 中可以模拟其中某些构造,但是托管代码对这些构造提供集成支持。根据方案的不同,这些功能可以为使用托管代码实现某些数据库功能提供令人心动的理由。

2、 对于计算和复杂的执行逻辑,托管代码比 T-SQL 更适合,它全面支持许多复杂的任务,包括字符串处理和正则表达式。

通过 .NET Framework 库中提供的功能,可以访问数千个预生成的类和例程。可以很容易从任何存储过程、触发器或用户定义函数进行访问。基类库 (BCL) 包括的类提供用于字符串 *** 作、高级数学运算、文件访问、加密等的功能。

3、 一般来说,函数和聚合是SQL CLR的出色应用。

SQL CLR 代码的开发人员可以利用 .NET Framework API中存在的大量有用函数和类。这个类/函数库比 T-SQL 中支持的内置函数要丰富得多。此外,CLR 编程语言提供了 T-SQL 中所没有的丰富构造(例如数组和列表等)。与 T-SQL(它是一种解释语言)相比,CLR 编程语言之所以具有更好的性能,是因为托管代码是已编译的。对于涉及算术计算、字符串处理、条件逻辑等的 *** 作,托管代码的性能可能要优于 T-SQL 一个数量级。

4、 托管代码的一个优点是类型安全性,即确保代码只通过正确定义并且权限许可的方式访问类型。

在执行托管代码之前,CLR 将验证代码是否安全。例如,通过检查代码来确保不读取以前未曾写入的内存。CLR 还可以帮助确保代码不 *** 作非托管内存。

5、 开发人员应该将SQLCLR作为一种无法使用T-SQL显式表达逻辑的备选解决方案。

SQLCLR给开发人员提供了另一种编写存储过程的方法,但是利用T-SQL的声明性结构来处理基于集合的数据选择与修改要远远优于在.net中的过程化结构和ADO.NET对象模型中进行处理,因此SQLCLR不能作为实现业务层逻辑的替代品。那么根据这个规则,开发人员应该首先使用T-SQL解决问题。

6、 SQLCLR的局限

尽管其中许多类可以从 SQL Server 的 CLR 代码中使用,但是不适合服务器端使用的类(例如窗口类)将无法使用。

using System.Collections//引用之后才可调出动态数组类型【ArrayList】

ArrayList list = new ArrayList()

for(int i=0i<记录长度i++)

{

list.Add(对象)

]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6905929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存