写点什么

内存优化表的索引

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

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

关注

评论

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

了解GaussDB性能调优之隐式转换,解决慢SQL问题

华为云开发者联盟

数据库 sql 性能调优 GaussDB

离线任务已支持复用任务参数 | ModelWhale 版本更新

ModelWhale

人工智能 gpu HPC

【YashanDB知识库】使用c-调用yashandb odbc驱动执行SQL时报YAS-08008 not all variables bounded

YashanDB

数据库 yashandb

如何进行知识管理

易成研发中心

知识管理 知识管理软件

选择合适的Web3外包团队

北京木奇移动技术有限公司

软件外包公司 web3开发 web3开发团队

半导体制造行业MES系统解决方案

万界星空科技

mes 半导体行业 万界星空科技 制造业转型 半导体mes

计算虚拟化软件介绍

天翼云开发者社区

云计算 虚拟化

通过低代码快速迭代助力创新行业系统化管理

明道云

解锁软件测试新境界:AI如何助力发现潜在缺陷

测试人

软件测试

BetterYeah AI x 添可 AI客服项目入选沙丘社区AI Agent最佳实践案例

BetterYeah AI

从本地成功到国际拓展:启舵科技与 HAP 的战略合作

明道云

【YashanDB知识库】如何设置yasql客户端的字符编码

YashanDB

数据库 yashandb

Web3项目开发中常见的挑战

北京木奇移动技术有限公司

软件外包公司 web3开发

【YashanDB知识库】主备集群用yasboot在线缩容后无法托管到YCM

YashanDB

数据库 yashandb

BetterYeah AI获2024世界互联网大会新耀场景奖

BetterYeah AI

为什么数据平台需要敏捷版?

奇点云

数据平台

【YashanDB知识库】如何查看共享集群共享盘的挂载关系

YashanDB

数据库 yashandb

见证无限可能!火山引擎边缘云邀你参加冬季 Force 大会开发者论坛

火山引擎边缘云

边缘计算 边缘云 AI 大底座 边缘智能

卤制品自动化生产MES系统解决方案

万界星空科技

mes 万界星空科技mes 食品加工 卤制品 卤制品行业

为什么数据平台需要敏捷版?

奇点云

媒体报道 | 原钉钉副总裁AI赛道创业融资过亿,新品发布助力「双11」电商AI升级

BetterYeah AI

BetterYeah AI CEO张毅:企业级AI智能体正成为新质生产力

BetterYeah AI

借助HAP推动旅游业数字化转型,12家客户的实践案例与心得

明道云

九诚七乔借助HAP超前服务:多行业客户的成功实践

明道云

域名和空间有什么关系和区别?如何购买域名和空间?

国科云

优化Shopify API的调用性能

北京木奇移动技术有限公司

Shopify 软件外包公司 跨境电商平台

CPU的指令周期

天翼云开发者社区

cpu

NAT原理:概念、使用场景、转发流程及规则

天翼云开发者社区

网络安全 NAT

零代码的MOM之路

明道云

电商API的奥秘:数据爬手的底层逻辑解析

代码忍者

API 接口 pinduoduo API

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