写点什么

SQL Server 2016 —— 本机编译的函数

  • 2015-06-10
  • 本文字数:538 字

    阅读完需:约 2 分钟

在 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

2015-06-10 09:171594
用户头像

发布了 428 篇内容, 共 176.7 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

组件解析:基础组件button的实现

独来独往

大前端 低代码 可视化 组件化 低代码平台

乔布斯之后,下一代触控交互由一家中国公司重新定义

硬科技星球

TiFlash 源码阅读(六)DeltaTree Index 的设计和实现分析

PingCAP

TiDB TiDB 源码解读

Solana上的结算协议龙头,Zebec潜力颇受看好

小哈区块

开源一夏 | 在 STM32L051 上使用 RT-Thread (二、无线温湿度传感器 之 CubeMX配置)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

设备管理|风机的日常运行与维护

PreMaint

企业设备管理 预测性维护 设备健康管理 风机的日常运维

泄露了,Alibaba697页的MySQL应用实战与性能调优手册,太强了

Java编程日记

Java 编程 程序员 面试 架构师

QCA9880 wallys 2×2 MIMO 802.11ac Mini PCIe 2,4GHz / 5GHz Designed for E

wallys-wifi6

QCA9882 wallys 802.11AC 802.11AN wifi QCA9882 Module Wireless AC/AN MiniPCIE Standard Card

wallys-wifi6

QCA9882

OpenHarmony轻量设备Hi3861芯片开发板启动流程分析

OpenHarmony开发者

OpenHarmony

少儿编程是智商税吗?不花钱让孩子赢在起跑线!

博文视点Broadview

为Bert注入知识的力量 Baidu-ERNIE & THU-ERNIE & KBert

了不起的程序猿

Java 编程 后端 java程序员 BERT

区块链带你避“坑”,电信诈骗退!退!退!

旺链科技

区块链 产业区块链 电信诈骗

借我 1 小时,与 1000 人一起参与开源

腾源会

开源 腾源会

美国商务部宣布:EDA等四项技术实施新的出口管制,8月15日生效!

雨果

芯片技术

AntDB基于WAL日志的DML数据闪回实现

亚信AntDB数据库

AntDB 国产数据库 AISWare AIDB

阿里最新的Spring Boot项目开发实战手册,掀起了项目实战变革狂潮

Java面试那些事儿

Java 编程 程序员 面试 架构师

JSON 之父:JavaScript 已经成为了进步的障碍

雨果

JavaScript

一文搞定架构思维,DFD 的结构化分析,只需明白这3点

老崔说架构

从入门到高手,数据从业者成长一般经过哪些阶段?

雨果

数据工程师必备技能

Promise.allSettled 的 Polyfill 处理

汪子熙

JavaScript Promise Async 8月月更 web编程

什么是文件存储?与对象存储有什么区别?

wljslmz

文件存储 8月月更

Node 之父着急宣布Deno 将迎来重大变革,疑为针对最近大火的“Bun”

雨果

node.js

C#/VB.NET 替换 PDF 文件上的现有图像

在下毛毛雨

C# .net PDF 替换图像

开源一夏 | 使用 JavaScript 将文本转换为文件

海拥(haiyong.site)

JavaScript GitHub 开源 前端 8月月更

怎么分辨企业转型是“真数字化”还是 “伪数字化”?

雨果

数字化转型

数据工程师越做越有成就感的7点经验分享

雨果

数据工程师

Linux 6.0 第一个候选版本发布

雨果

Liunx

如何在企业数字化团队内部实现分析建模过程全要素的可获得与成果可复现

ModelWhale

团队协作 数字化转型 全要素场景 代码复现 金融场景

CSS

武师叔

8月月更

GitHub标星139K的:“嵌入式Linux系统开发教程”

收到请回复

Java Linux 程序员 嵌入式 #运维

SQL Server 2016 —— 本机编译的函数_语言 & 开发_Jonathan Allen_InfoQ精选文章