SQL Server 2016
在 SQL Server 2014 中引入了本机编译的存储过程这一特性,而在 SQL Server 2016 中,我们将能够实现标量用户自定义函数(Scalar
在 SQL Server 2014 中引入了本机编译的存储过程这一特性,而在 SQL Server 2016 中,我们将能够实现标量用户自定义函数(Scalar UDF)的本机编译(Natively Compilation)。
SQL Sever 会将标准的T-SQL 语句编译为一种专有的中间语言,并在运行时对此中间语言进行解释。而在本机编译的情况下,存储过程将转换为C代码并编译到一个 DLL 中,SQL Server 会在运行时使用这个 DLL 文件。
现在,Scalar UDF 也能够以类似的方式编译为机器代码了。对于简单的操作来说,这一过程会极大地改善它的性能。只要是普通的 Scalar UDF 能够使用的场合,都可以转为使用本机编译的 Scalar UDF。不仅如此,,它还能够在本机编译的存储过程中使用,这一点对于代码重用来说是个巨大的胜利,因为在 SQL Server 中,这种方式之前总是被认为意味着糟糕的性能。
与本机编译的存储过程一样,本机编译的 Scalar UDF 也必须被定义为绑定到架构(schema bound)。在存储过程中,WITH SCHEMABINDING 选项表示本机编译是所期望的方式。目前还不清楚这一选项将如何作用于 UDF,不过就像你已经看到的一样,它必然代表绑定到架构的函数。或许它能够自动检测到某个绑定到架构的 UDF 可否进行本机编译,根据结果不同进行相应的举措。
英文原文:SQL Server 2016: Natively Compiled Functions
本文永久更新链接地址:
推荐阅读
-
T-SQL:开窗函数(十二)
-
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
-
sql server 备份与恢复系列三 简单恢复模式下的备份与还原
-
PL/SQL Dev连接Oracle弹出空白提示框的解决方法分享
-
重装MS SQL Server 2000前必须彻底删除原安装文件的方法
-
比较详细的完美解决安装sql2000时出现以前的某个程序安装已在安装计算机上创建挂起的文件操作。 原创
-
mssql server .ldf和.mdf的文件附加数据库的sql语句
-
mssql server 存储过程里,bulk insert table from '路径+文件',路径固定,文件名不固定的实现方法
-
在SQL中使用convert函数进行日期的查询的代码
-
推荐SQL Server 重新恢复自动编号列的序号的sql代码