SQL server 2014 内存表特性概述
来源:互联网 发布:极速淘宝秒杀器怎么用 编辑:程序博客网 时间:2024/06/05 20:28
内存优化表是SQL server2014版本中推出的新特性之一。也是基于create table创建的,只不过是驻留在内存中表。从内存读取表中的行和将这些行写入内存。 整个表都驻留在内存中。表数据的另一个副本维护在磁盘上,但仅用于持续性目的。内存中 OLTP 与 SQL Server 集成,以便在所有方面(如开发、部署、可管理性和可支持性)提供无缝体验。 内存优化表中的行是版本化的。 这意味着表中的每行都可能有多个版本。 所有行版本均维护在同一个表数据结构中。 本文主要描述SQL server 2014内存表的相关特性。
一、基本特性
是一张持续驻留在内存中的表。 使用基于行版本化特性(等同于Oracle MVCC),需要维护每一个行的多个不同版本。 行版本控制用于实现对同一行的并发读取和写入,注意此处是并发。 如表tb1有三行:r1、r2 和 r3。 r1 有三个版本,r2 有两个版本,r3 有四个版本。 同一行的不同版本不必占用连续的内存位置。 不同的行版本可分散到整个表数据结构中。
二、持久化特性
支持事务(ACID)原则的完全持久化表,因为磁盘上会有相应的副本。 使用延迟事务提交写入磁盘。缺点是丢失已提交但未保存到磁盘的事务。 非持久的内存优化表,不记录这些表的日志且不在磁盘上保存它们的数据。掉电丢失,等同mysql memory引擎。
三、性能与可伸缩
使用本机编译的存储过程获得最佳性能,解释性TSQL一般。 对于基于复杂存储过程实现逻辑,且应用较少调用的的场景,表现优异。 内存表哈希索引高于非聚集索引,内存表非聚集索引性能高于磁盘表非聚集索引。 解决了IO瓶颈,缺点是需要增大内存开销。 避免了闩锁与旋转锁争用。 基于乐观并发控制形式来实现所有事务隔离级别,解决了读阻塞写的问题。Oracle是用MVCC及undo来搞定。
四、内存表图示描述
下图为内存表调用方式描述图
下图为本文草画的流程图
0 0
- SQL server 2014 内存表特性概述
- SQL Server 2008 几项新特性概述
- 一. SQL Server 2008 新特性概述
- SQL Server 2008几项新特性概述
- SQL Server 2014新特性探秘(1)-内存数据库
- SQL Server 2014新特性探秘(1)-内存数据库
- SQL Server 2014新特性
- sql server 内存表
- sql server 内存表
- SQL Server 内存中OLTP内部机制概述
- SQL Server 内存中OLTP内部机制概述
- SQL SERVER 2014 内存优化表迁移
- SQL Server 函数概述
- SQL Server 2000 概述
- sql server 锁概述
- SQL Server 触发器概述
- SQL Server 2005概述
- SQL Server 2012概述
- Android视图状态及重绘流程分析,带你一步步深入了解View(三)
- ios socket 实现简单的聊天系统
- leetcode记录 104. Maximum Depth of Binary Tree
- 思源黑体下载 - Google 联合 Adobe 发布免费开源优雅的设计字体 (简繁中文/日韩文)
- 一份问卷调查引发的感想
- SQL server 2014 内存表特性概述
- Android 自定义BaseAdapter
- nginx 301跳转到带www域名方法(不带www访问时重定向到带www域名)
- C++模板(一) ----函数模板
- 应避免absolute布局滥用
- MarkDown快速入门
- SQL SERVER 对数据库的一些基本操作:创建、更改、查看、删除……
- 我到底该如何待你-“百度”
- 图的邻接表存储 c实现