写点什么

内存优化表的索引

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

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

关注

评论

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

基于Java开发的支持全文检索,知识图谱,工作流审批的知识库管理系统

金陵老街

Vue 工作流 neo4j 知识图谱 spring-boot

2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。 需保证 返回结果的字典序最小。 要求不能打乱其他字符的相对位置)。 输入:s = “cba

福大大架构师每日一题

福大大架构师每日一题

好用的建模仿真软件 Comsol Multiphysics激活中文

胖墩儿不胖y

Mac软件 仿真软件 仿真工具

创意性LED电子大屏幕推动LED显示屏行业融合

Dylan

功能 显示器 LED显示屏 全彩LED显示屏 led显示屏厂家

Nginx配置限流

拾光师

3天面了20个候选人,聊聊我的感受

冰河

程序员 面试 系统架构 架构师 技术提升

机器学习与 S3 相集成 :释放数据的力量

亚马逊云科技 (Amazon Web Services)

机器学习 S3 云存储服务

神奇植物在哪里?文心大模型助力一秒读懂花草的“前世今生”

飞桨PaddlePaddle

数据库 大模型 文心大模型 风景园林

亚马逊云科技宣布推出Amazon Q重塑未来工作方式

财见

uniapp上架app store详细攻略

元宇宙8大关键技术_元宇宙解决方案

3DCAT实时渲染

元宇宙 元宇宙解决方案

单元测试的实践与思考

老张

单元测试 质量保障

即时通讯技术文集(第25期):实时音视频基础入门 [共20篇]

JackJiang

网络编程 即时通讯 IM

高性能和多级高可用,云原生数据库 GaiaDB 架构设计解析

Baidu AICLOUD

云原生数据库

Batrix企业能力库之物流交易域能力建设实践 | 京东物流技术团队

京东科技开发者

架构 技术中台 企业号11月PK榜

Taro:高性能小程序的最佳实践 | 京东云技术团队

京东科技开发者

小程序 taro 前端 跨端

SPI扩展点在业务中的使用及原理分析 | 京东物流技术团队

京东科技开发者

Java spi 企业号11月PK榜

低代码平台中的元编程(Meta Programming)

canonical

低代码 元编程 可逆计算 Nop平台

前端常用设计模式初探 | 京东云技术团队

京东科技开发者

前端 设计模式 企业号11月PK榜

亚马逊云科技联合Clarity AI共同推动大规模可持续性投资

财见

2023年大数据场景智能运维实践总结

阿里云大数据AI技术

大数据

三门免费课入门云职场!还包含时下最火的人工智能

科技热闻

云从业者入门仅需三门课?还包含时下最火的机器学习

科技热闻

软件工程师必备的10个Git命令(先码住)

伤感汤姆布利柏

git GitHub

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