写点什么

内存优化表的索引

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

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

关注

评论

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

Java 开发者必备工具清单:提升效率的 10 款神器

飞算JavaAI开发助手

【限时福利】参与炫技赛,免费解锁AI工具高级版!速领→

飞算JavaAI开发助手

[大厂实践] Pinterest 基于 Ray 的机器学习数据处理

俞凡

人工智能 大厂实践

SelectDB 实时分析性能突出,宝舵成本锐减与性能显著提升的双赢之旅

SelectDB

大数据 数据仓库 数据分析 电商 实时分析

使用Langflow和AstraDB构建AI助手:从架构设计到与NocoBase的集成

NocoBase

开源 AI 低代码 #LangChain AI 助手

人工智能引发就业变革:热门职业面临淘汰危机!

Techinsight

人工智能

ETL与ELT核心技术解析:如何选择最优数据集成方案

谷云科技RestCloud

数字化转型 ETL ELT 数据集成工具

Solr 可观测性最佳实践

观测云

solr

故障测试——微软工程手册

FunTester

macOS Sequoia 15.3.2 (24D81) Boot ISO 原版可引导镜像下载

sysin

macos

AI搜索,难分胜负

趣解商业

百度 科技 AI搜索 腾讯元宝

【技术实战】会员商城任务成就系统:从需求分析到代码实现的完整指南

飞算JavaAI开发助手

网易伏羲人工智能实验室技术创新再突破!前馈捏脸等3篇论文入选CVPR 2025

网易伏羲

人工智能 论文 网易伏羲

[大厂实践] Pinterest Ray 基础设施实践

俞凡

人工智能 大厂实践

一文看懂!大模型、超大模型和 Foundation Model 有何区别?

Techinsight

#大模型

95后程序员靠飞算JavaAI副业月入过万:他的接单秘籍全公开

飞算JavaAI开发助手

直播预告:慢热的 MCP 终于火了;什么是 MCP,以及智能体通信协议的未来丨RTE Dev Talk

RTE开发者社区

NocoBase vs OutSystems:低代码平台,开源还是闭源?

NocoBase

开源 开发者 低代码 开发工具 无代码

SpringBoot + 微服务开发太难?AI 工具自动生成脚手架代码!

飞算JavaAI开发助手

区块链资产交易所开发:从零到一构建币币交易平台

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

AI 时代必备技能:如何巧用大模型实现工作效率与质量的双重飞跃?

Techinsight

流程自动化 #大模型 RPA Agent Agent智能体

.NET Core 中如何实现缓存的预热?

不在线第一只蜗牛

.net spring 缓存

日志易SPL高效进阶:语法编辑器的妙用

日志易

编辑器 日志易SPL

Cartesia 升级 TTS 模型,可在音频中无缝填充内容;索尼 AI 游戏角色原型:结合语音与动画,与玩家实时对话丨日报

RTE开发者社区

场景题:线上接口响应慢,应该如何排查问题?

卷福同学

Java 面试 接口 场景题

ChatGPT 与 AGI:人工智能的当下与未来走向全解析

Techinsight

大模型叙事下的百度智能云:比创新更重要的,是创新的扩散

Alter

SD-WAN:为企业打造低成本高性能组网

Ogcloud

SD-WAN 企业组网 SD-WAN组网 sd-wan专线 SD-WAN厂家

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