写点什么

内存优化表的索引

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

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

关注

评论

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

开放原子开源大赛 | Pika赛题正式启动,诚邀报名!

开放原子开源基金会

探索全球 AI 产品市场:50 个国内外导航网站助力推广

出海的猹

AI 导航网站 出海

深度学习之“线下标注”

矩视智能

深度学习 机器视觉

RTC才是物联网企业的杀手锏!

X2Rtc

音视频 物联网 IoT RTC

代理价格监控和分布式价格监控有什么不同点?

巨量HTTP

http代理 分布式代理

人工智能:走向智能化生活

测吧(北京)科技有限公司

测试

软件测试 | 奇安信秋招面试题2

测吧(北京)科技有限公司

测试

大厂旗下的APP们成为自研大模型的“磨刀石”|TE洞察

TE智库

人工智能 BAT 大模型

【聚梦想 创非凡】2023荣耀开发者沙龙 ● 广州站 精彩回顾

荣耀开发者服务平台

互联网 用户增长 云服务 生态合作 行业经验

【架构篇】Supabase的Postgrest组件架构介绍

张文平

数据库 postgresql 缓存 多表联查 Postgrest

Java虚拟线程简介

FunTester

C4D在影视动画制作中的局限性

Finovy Cloud

C4D

2023英特尔on技术创新大会:英特尔研究院展示多项技术“魔法”

E科讯

真香!为什么设计行业流行部署云桌面?

青椒云云电脑

云桌面

未来PC将是云电脑? 算力优势成为关键

青椒云云电脑

云电脑

聊聊复杂网络环境下hdfs的BlockMissingException异常|参数dfs.client.use.datanode.hostname

明哥的IT随笔

hdfs TCP/IP

[Go 夜读 第 148 期] Excelize 构建 WebAssembly 版本跨语言支持实践

xuri

开源 Excel webassembly Go 语言 Excelize

开始报名!龙蜥社区走进 Arm MeetUp 议程硬核剧透来了

OpenAnolis小助手

开源 操作系统 arm Meetup 龙蜥社区

英特尔研究院副总裁、英特尔中国研究院院长宋继强:英特尔技术为全行业带来卓越贡献

E科讯

《异构融合计算技术白皮书》正式发布,龙蜥助力新一代信息技术发展

OpenAnolis小助手

开源 白皮书 龙蜥社区 世界计算大会 异构融合计算

人工智能 | ChatGPT账号注册

测吧(北京)科技有限公司

测试

中国首个接入大模型的Linux操作系统;ChatGPT支持图片和语音输入;抖音上线方言自动翻译功能丨RTE开发者日报 Vol.57

声网

流量治理的基石——基于字节码增强的全链路流量标签透传

华为云开源

微服务 微服务架构 字节码

软件测试 | 奇安信秋招面试题1

测吧(北京)科技有限公司

测试

Vue3中的Ref与Reactive:深入理解响应式编程

互联网工科生

前端框架 Vue 3

2024成都电子展|成都国际电子信息展览会

AIOTE智博会

电子信息展 成都电子展 电子信息博览会

你眼中的程序员 vs 程序员眼中的自己,是时候打破刻板印象了丨KubeCon 主题活动

阿里巴巴云原生

阿里云 容器 云原生 AIGC

AI在生活中的惊人应用

测吧(北京)科技有限公司

测试

AI带来的新创浪潮

测吧(北京)科技有限公司

测试

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