专栏首页乐沙弥的世界SQL server 2014 内存表特性概述

SQL server 2014 内存表特性概述

内存优化表是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 条评论
登录 后参与评论

相关文章

  • Linux HugePage 特性

        HugePage,就是指的大页内存管理方式。与传统的4kb的普通页管理方式相比,HugePage为管理大内存(8GB以上)更为高效。本文描述了什么是Hu...

    Leshami
  • 高水位线和全表扫描

       高水位线好比水库中储水的水位线,用于描述数据库中段的扩展方式。高水位线对全表扫描方式有着至关重要的影响。当使用delete 操作 表记录时,高水位线并不...

    Leshami
  • mysqldump 快速搭建特定库主从架构(GTID)

    相关知识点参考 基于mysqldump搭建gtid主从 MySQL GTID 错误处理汇总 配置MySQL GTID 主从复制 使用mysqld...

    Leshami
  • 浅析JAVA中堆内存与栈内存的区别

    存放基本类型的变量,对象的引用和方法调用,遵循先入后出的原则。 栈内存在函数中定义的“一些基本类型的变量和对象的引用变量”都在函数的栈内存中分配。当在一段代码块...

    三哥
  • 今咱们来聊聊JVM 堆外内存泄露的BUG是如何查找的前言内存泄露Bug现场查找线索总结

    美的让人心动
  • Java架构师中的内存溢出和内存泄露是什么?实际操作案例!

    申请了内存用完了不释放,比如一共有 1024M 的内存,分配了 521M 的内存一直不回收,那么可以用的内存只有 521M 了,仿佛泄露掉了一部分;

    Java架构师进阶技术
  • 开发应该知道的Linux系统分析-内存篇

    用free监控内存free是监控linux内存使用状况最常用的指令,看下面的一个输出

    只喝牛奶的杀手
  • 移动APP测试之android性能测试

      当应用实现了新功能后,准备发布版本前,必须进行性能测试以确定没有性能问题,内存使用情况便是其中必须要测试的性能之一。由于内存组成的复杂性,并没有简单通用的方...

    小老鼠
  • Linux 内存管理初探

    linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍 linux 内存组织结构和页面布局,内存碎...

    用户6543014
  • Linux之《荒岛余生》(三)内存篇

    内存问题,脑瓜疼脑瓜疼。脑瓜疼的意思,就是脑袋运算空间太小,撑的疼。本篇是《荒岛余生》系列第三篇,让人脑瓜疼的内存篇。其余参见:

    xjjdog

扫码关注云+社区

领取腾讯云代金券