2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

内存优化表的索引

  • 2013-09-25
  • 本文字数:678 字

    阅读完需:约 2 分钟

SQL Server 2014 的内存优化表对索引的处理方式与传统表相比差别很大。首先也是最重要的一点,你必须有至少一个索引,但同时索引数不能超过8 个。

必须的那个索引用于组织内存中的数据。不同于传统的表,内存优化表并不支持将数据存储到一个无序堆中。这个索引包含主键,这也是表所唯一允许的唯一列。另外,主键不能是一个标识列。

事实上,标识列是被完全禁止的。这极有可能是支持锁无关写操作所需要的一个限制。

其他7 个索引几乎都是用于辅助join 和order by 操作的。正如前面所提到的,你不能添加额外的唯一索引,也不能使用索引执行外键约束。

你也不能使用触发器解决这些限制,因为内存优化表并不支持。

最后,也不允许检查约束。这意味着几乎所有关注完整性的数据都必须被推送到存储过程或者应用程序层里面。

但是请等一等,还有更多要说明的内容。你还不能在可空的列上放置索引。你也不能使用筛选索引,每一个索引都必须引用每一行。

内部结构

内存优化表中的行并不会被安排在页中。相反,它们分散在内存中。访问它们的唯一方式便是通过索引,这就是至少要有一个索引的原因。

这些索引并不是传统的B 树。它使用一个哈希索引和一个固定数量的桶(buckets)。在理想的情况下,每一个桶仅会容纳一行,因此在创建索引的时候你应该指定期望这个表存储的行的数量。你需要仔细斟酌,对于内存而言超出预算的行数是一个非常大的浪费。

对此,一个计划的替代方案是范围索引(range indexes)。虽然现在还不能用,但是范围索引的期望是能够更好地处理未知数量的行。

明天我们将会继续这个系列,介绍本机编译的查询。

查看英文原文 Indexes in Memory Optimized Tables

2013-09-25 09:321988
用户头像

发布了 321 篇内容, 共 132.7 次阅读, 收获喜欢 19 次。

关注

评论

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

自动化安全工具的双刃剑:红队演练揭示安全响应盲区

qife122

网络安全 红队演练

低代码范式的内涵与边界:介于“无代码”与“复杂代码”的再思考

JeeLowCode低代码平台

低代码 低代码开发 低代码选择 低代码排名

PVP2 ProVideoPlayer2 for Mac(PVP2播放器)

春天的风暖暖的

Airflow for Mac:高效便捷的跨设备流媒体投屏利器

春天的风暖暖的

Text Workflow for mac(文本格式转换工具)

春天的风暖暖的

Mp3tag for Mac:专业高效的音频标签编辑利器

春天的风暖暖的

Native Instruments Traktor Pro for mac(数字DJ混音器软件)

春天的风暖暖的

TotalFinder for Mac(Finder增强工具)

春天的风暖暖的

Easy New File for Mac(右键增强工具)

春天的风暖暖的

Toast Titanium 17 for Mac(DVD光盘刻录软件)

春天的风暖暖的

Steinberg Dorico Pro for Mac(乐谱编写软件)

春天的风暖暖的

工业管理 团队建设经验总结(4)

万里无云万里天

团队建设 工业 工厂运维

当独立开发者会做内容,才是数字时代的「超级杠杆」

阿星AI工作室

AI 产品经理 自媒体 独立开发 AI工具

TouchDesigner Pro for mac(可视化原型渲染设计)

春天的风暖暖的

Millumin 4 for Mac:专业舞台视觉与媒体控制的强大工具

春天的风暖暖的

4K Wallpaper HD Wallpapers for mac(4K壁纸软件)

春天的风暖暖的

Pioneer DJ rekordbox for Mac(专业的DJ音乐管理软件)

春天的风暖暖的

TG Pro for Mac:Mac硬件的智能温度管家

春天的风暖暖的

Folx GO for Mac:Mac系统的高效下载管理利器

春天的风暖暖的

OriginDB番外篇:Java线程安全:从CPU多级缓存说起

shihlei

JMM 线程安全 MESI CPU Cache

传帮带 人才梯队建设经验总结(10)

万里无云万里天

人才 工业 工厂运维

使用Silobase在几分钟内快速部署后端API

qife122

数据库 后端开发

Bartender 6 for Mac:菜单栏管理的终极解决方案

春天的风暖暖的

Go汇编变异测试:提升加密代码测试覆盖率的创新方法

qife122

go语言 变异测试

Moom for Mac(窗口管理神器)

春天的风暖暖的

AutoCAD 2023 for Mac:专业级2D/3D设计与协作工具

春天的风暖暖的

iWork Converter for mac(简单易用的iWork文件转换工具)

春天的风暖暖的

Charles for Mac:多功能网络调试与抓包工具

春天的风暖暖的

Wirecast Pro for Mac:专业级直播与视频制作的全能工具

春天的风暖暖的

AI赋能数据分析:Smartbi 助力企业驾驭数据智能

新消费日报

ShareMouse for mac(跨平台鼠标和键盘共享软件)

春天的风暖暖的

内存优化表的索引_架构_Jonathan Allen_InfoQ精选文章