写点什么

SQL Server 2016:内存优化表变得更易用了

  • 2015-06-17
  • 本文字数:715 字

    阅读完需:约 2 分钟

内存优化表(Memory Optimized Tables)承诺会带来显著的性能提升,但往往很难使用。使用困难很大一部分来源于不能改变它的表 schema 和索引这一事实。

之前的规避措施是创建一张临时表,把数据复制过来,删除原来的内存优化表,然后创建并且载入新的内存优化表。对以下操作而言没必要再这样做规避了:

  • 改变 bucket 总数。bucket 总数太高会浪费内存,太低则损害性能。
  • 增加和移动索引。请注意在 ALTER Table 命令之外,无法创建或移动索引。
  • 改变、增加和移动列。
  • 增加和移动约束。

内存优化表通常受限于绑定本地编译存储过程的 schema。可以用 Schema-bound Dependency 图来查看一个给定的 ALTER 语句是否可行。

请注意 ALTER TABLE 还有一些涉及 workload 的附加限制:

在开始 ALTER TABLE 操作之前,要先暂停 workload。任何在开始 ALTER TABLE 操作之前就启动的用户事务以及对表的访问,都会因序列化验证失败(错误码 41325)而导致 ALTER TABLE 操作失败。

本地编译存储过程

在 2016 版本中本地编译存储过程也可以更改。当新版本的存储过程在进行编译时,将继续使用原来的版本。一旦编译完成,执行挂起请求,数据库切换到新版本上去。

与表一样,以前更改本地存储编译过程要求在创建新的存储过程之前先删除已有的存储过程。在编译窗口期,这会导致执行失败。

注意这个特性不能用来在正常的本地编译存储过程之间进行转换。

查看英文原文: SQL Server 2016: Memory Optimized Tables Made Easier


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-06-17 08:375528
用户头像

发布了 30 篇内容, 共 10.3 次阅读, 收获喜欢 1 次。

关注

评论

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

从0开始设计Flutter独立APP | 第三篇: 一劳永逸解决全局BuildContext问题

渔子长

flutter 大前端 跨平台 React

第六周总结

石刻掌纹

昨天、今天、明天

escray

文档写作利器:Markdown

xcbeyond

markdown

MySQL性能优化(三):深入理解索引的这点事

xcbeyond

MySQL 索引 MySQL性能优化

计算机网络基础(二)---网络层-IP协议详解

书旅

php laravel 计算机网络 网络协议

从一盏路灯,看亿万级联接的智能之路

华为云开发者联盟

人工智能 物联网 智能设备 华为云

猿灯塔:spring Boot Starter开发及源码刨析(五)

猿灯塔

spring 猿灯塔

Malagu 框架开发 React 应用新体验

木香丘

Serverless 大前端 React 微应用 Malagu

【面试题系列】——Java基础

Noneplus

Java

MySQL性能优化(一):MySQL架构与核心问题

xcbeyond

MySQL MySQL性能优化

一致性协议算法

张瑞浩

面试官:如何决定使用 HashMap 还是 TreeMap?

爱嘤嘤嘤斯坦

Java 算法 hashmap

CAP原理

李白

实战技巧,Vue原来还可以这样写

前端有的玩

Java Vue 大前端 技巧

MySQL性能优化(二):选择优化的数据类型

xcbeyond

MySQL性能优化

doris临时故障恢复过程时序图

刘志刚

从需求到交付——论敏捷过程中的需求管理

华为云开发者联盟

敏捷开发 团队协作 需求管理 故事 持续交付

6种快速统计代码执行时间的方法,真香!

王磊

Java

Malagu 框架的认证与授权【借鉴 Spring Security 和 aws iam 的设计】

木香丘

身份认证 权限系统

架构师训练营作业 -- Week 6

吴炳华

极客大学架构师训练营

震惊!ConcurrentHashMap里面也有死循环,作者留下的“彩蛋”了解一下?

why技术

Java 源码 jdk 后端 bug

静态代码检查完成代码分析和SonarQuber的初探

陈磊@Criss

Doris 临时失效处理过程

石刻掌纹

API接口设计最佳实践

Man

Java 安全开发 设计实践 APi设计 接口管理

“Python的单例模式有四种写法,你知道么?”——孔乙己

BigYoung

Python 设计模式 单例模式

Spring配置类深度剖析-总结篇(手绘流程图,可白嫖)

YourBatman

spring springboot @Configuration 白嫖

为什么我们应该使用 Flutter?

环信

flutter

啃碎并发(11):内存模型之重排序

猿灯塔

腾讯的区块链为何败给了老干妈的“萝卜章”?

ToB行业头条

【进收藏夹吃灰系列】——Java基础快速扫盲

Noneplus

Java

SQL Server 2016:内存优化表变得更易用了_语言 & 开发_Jonathan Allen_InfoQ精选文章