写点什么

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:375519
用户头像

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

关注

评论

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

Week3 作业

Shawn

架构师训练营第三周作业

张明森

极客大学架构师训练营

ArrayList的删除姿势你都知道了吗

root

Java 后端 ArrayList 循环删除 ModificationException

week3:组合设计模式和单例

Geek_36d3e5

LeetCode 2. Add Two Numbers

liu_liu

数据结构 算法 链表 LeetCode

week3 作业

雪涛公子

LeetCode | 5. Longest Common Prefix 最长公共前缀

Puran

Python C# 算法 LeetCode

通证经济=区块链技术+商业模式

CECBC

商业模式 区块链技术 Token 通证经济

孩子教育

王进行

教育 孩子

区块链助力新基建

CECBC

区块链技术 联盟链 公链 底层技术

week3-学习心得

Geek_36d3e5

了解 Java 架构

陈皮

架构师训练营第三周总结

烟雨濛濛

面试急转弯:List如何一边遍历,一边删除?

Java小咖秀

本地缓存高性能之王Caffeine

root

Java Guava Cache Caffeine 本地缓存 谷歌本地缓存

迎接一次重大的人生升级,让优秀的你,成为大学顶尖生。

叶小鍵

LeetCode 300. Longest Increasing Subsequence

liu_liu

LeetCode

了解 Java 内存模型

陈皮

JMM

一些有用的工具、开源项目收集

陈皮

云计算产品的竞争力

韩超

云计算 k8s 公有云 私有云

ARTS Week4

时之虫

ARTS 打卡计划

架构师训练营总结-20200621

caibird1984

极客大学架构师训练营

ARTS|Week 4 Product, Leadership, and SOLID

Puran

设计模式 LeetCode ARTS活动 Leadership

单例模式与组合模式总结与练习

单例模式 极客大学架构师训练营 组合模式 第三章作业

刘华:想入门软件系统架构设计,看这篇就够了

刘华Kenneth

架构 架构师 故障 容灾 灾备

从印度兵力分布聊聊Mybatis中#和$的区别

程序那些事

Java sql mybatis 印度兵力

springboot + rabbitmq 做智能家居,我也没想到会这么简单

程序员小富

Java Spring Boot RabbitMQ 智能设备

LeetCode | 4. Palindrome Number 回文数

Puran

Python C# 算法 LeetCode

依赖倒置原则

任小龙

接口隔离原则-Cache类优化

yupi

设计模式作业

qihuajun

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