在 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 可否进行本机编译,根据结果不同进行相应的举措。
华友协同办公管理系统(华友OA),基于微软最新的.net 2.0平台和SQL Server数据库,集成强大的Ajax技术,采用多层分布式架构,实现统一办公平台,功能强大、价格便宜,是适用于企事业单位的通用型网络协同办公系统。 系统秉承协同办公的思想,集成即时通讯、日记管理、通知管理、邮件管理、新闻、考勤管理、短信管理、个人文件柜、日程安排、工作计划、工作日清、通讯录、公文流转、论坛、在线调查、
英文原文:SQL Server 2016: Natively Compiled Functions
本文永久更新链接地址:









