参考文献:http://www.infoq.com/cn/news/2013/09/Compiled-Queries

http://www.bianceng.cn/database/SQLServer/201502/48247.htm 
SQL Server 2014内存数据库针对传统的表和存储过程引入了新的结构: memory optimized table(内存优化表)和native stored procedure(本地编译存储过程)。
 
内存优化表: 
默认情况下Memory optimized table是完全持久的(即为durable memory optimized table),如传统的基于磁盘的表上的事务一样,并且完全持久的事务也是支持原子、一致、隔离和持久 (ACID) 的。所不同的是内存优化表的整个表的主存储是在内存中,即为从内存读取表中的行,和更新这些行数据到内存中。 并非像是传统基于磁盘的表按照数据库数据库页面装载数据库。内存优化表的数据同时还在磁盘上维护着另一个副本,但仅用于持续性目的。 在数据库恢复期间,内存优化的表中的数据再次从磁盘装载。
CREATE TABLE DurableTbl (AccountNo INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 28713) ,CustName VARCHAR(20) NOT NULL ,Gender CHAR NOT NULL ,CustGroup VARCHAR(4) NOT NULL ,Addr VARCHAR(50) NULL ,Phone VARCHAR(10) NULL ) 
WITH (MEMORY_OPTIMIZED=ON, DURABILITY=SCHEMA_AND_DATA) --持久内存
WITH (MEMORY_OPTIMIZED=ON, DURABILITY=SCHEMA_ONLY)--非持久内存

(除了默认持久的内存优化表之外,还支持non-durable memory optimized table(非持久化内存优化表),不记录这些表的日志且不在磁盘上保存它们的数据。 这意味着这些表上的事务不需要任何磁盘 IO,但如果服务器崩溃或进行故障转移,则无法恢复数据。)

本地编译存储过程
Native compiled stored procedure(本地编译存储过程)是针对传统的存储过程而言的,是本机编译存储过程后生成DLL,由于本机编译是指将编程构造转换为本机代码的过程,这些代码由处理器指令组成,无需进一步编译或解释。与传统TSQL 相比,本机编译可提高访问数据的速度和执行查询的效率。故通过本机编译的存储过程,可在存储过程中提高查询和业务逻辑处理的效率。
 
语法
CREATE PROCEDURE dbo.NativeSP_Online
@sAccount nvarchar(100)
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
AS
BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'English')      
BEGIN
 
END
END
GO
注意:1,本地编译存储过程不能用子查询,不能用union,不能用非内存优化表
 
 
内存数据库既可以包含内存优化表和本地编译存储过程,又可以包含基于磁盘的表和传统存储过程

Sql server2014 内存优化表 本地编译存储过程的更多相关文章

  1. 使用SQL Server内存优化表 In-Memory OLTP

    如果你的系统有高并发的要求,可以尝试使用SQL Server内存优化表来提升你的系统性能.你甚至可以把它当作Redis来使用. 要使用内存优化表,首先要在现在数据库中添加一个支持内存优化的文件组. M ...

  2. SQL Server 内存优化表的索引设计

    测试的版本:SQL Server 2017 内存优化表上可以创建哈希索引(Hash Index)和内存优化非聚集(NONCLUSTERED)索引,这两种类型的索引也是内存优化的,称作内存优化索引,和基 ...

  3. SQL Server 2014内存优化表的使用场景

    SQL Server 2014内存优化表的使用场景 最近一个朋友找到走起君,咨询走起君内存优化表如何做高可用的问题 大家知道,内存优化表是从SQL Server 2014开始引入,可能大家对内存优化表 ...

  4. SQL Server 2014内存优化表的使用场景(转载)

    最近一个朋友找到走起君,咨询走起君内存优化表如何做高可用的问题 大家知道,内存优化表作为In-Memory OLTP功能是从SQL Server 2014开始引入,用来对抗Oracle 12C的In- ...

  5. 试试SQLSERVER2014的内存优化表

    试试SQLSERVER2014的内存优化表 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据库管理系统,而使用先进内存技 ...

  6. SQLServer2014内存优化表评测

    SQLServer2014内存优化表评测 分类: SQL内存表2014-06-20 11:49 1619人阅读 评论(11) 收藏 举报 目录(?)[-] SQLServer2014的使用基本要求 内 ...

  7. 试试SQLServer 2014的内存优化表

    SQL Server2014存储引擎:行存储引擎,列存储引擎,内存引擎 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据 ...

  8. 试试SQLServer 2014的内存优化表(转载)

    SQL Server2014存储引擎:行存储引擎,列存储引擎,内存引擎 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据 ...

  9. SQLSERVER2014的内存优化表

    SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据库管理系统,而使用先进内存技术来支持大规模OLTP工作负载. 就算如此, ...

随机推荐

  1. DOS日期和时间 - Robin Hu的专栏 - 博客频道 - CSDN.NET

    body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-ser ...

  2. Java ZIP压缩和解压缩文件并兼容linux

    JDK中自带的ZipOutputStream在压缩文件时,如果文件名中有中文,则压缩后的 zip文件打开时发现中文文件名变成乱码. 解决的方法是使用apache-ant-zip.jar包(见附件)中的 ...

  3. Cron 时间元素

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天( ...

  4. zookeeper常用sehll命令

    ZooKeeper服务命令: 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务:       sh bin/zkServer.sh start ...

  5. IFields Interface 定义一个字段集合对象

    Description The Fields object represents a collection of columns in a table. The term field is synon ...

  6. 让MySQL数据库支持Emoji表情

    问题:Emoji 表情是按照4个字节存储的,所以传统 mysql utf-8编码只能最大存储3字节. 解决:修改MySQL(5.5.3以上版本) 编码为utf8mb4 即可存储Emoji表,同时设置 ...

  7. hibernate--一对多 多对一 双向关联 (重点!!!)

    一方 group: package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax. ...

  8. android MessageQueue入门

    接触安卓几年了.但是感觉一直不是很明白,东西太多了.反过来说就是自己太菜了.很多东西其实都是模凌两可,不熟悉,很多知识点都是知道一点,最多大家都这样用.没问题,事件长了也一直这样用的.但是有个问题,安 ...

  9. 五、Hive

    一.Hive 1.1 Hive简介 1.2 Hive说明 1.3Hive的体系架构 来自为知笔记(Wiz)

  10. 【转】10个重要的Linux ps命令实战

    Linux作为Unix的衍生操作系统,Linux内建有查看当前进程的工具ps.这个工具能在命令行中使用. PS 命令是什么 查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照.它能捕获系 ...