写点什么

内存优化表的索引

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

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

关注

评论

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

直播|HashData信创概览

酷克数据HashData

信创

传统企业DevOps基础设施架构规划之道

冯文辉

DevOps 华为云DevCloud 华为CodeArts

2022-12-20:二狗买了一些小兵玩具,和大胖一起玩, 一共有n个小兵,这n个小兵拍成一列, 第i个小兵战斗力为hi,然后他们两个开始对小兵进行排列, 一共进行m次操作,二狗每次操作选择一个数k,

福大大架构师每日一题

算法 rust 福大大

我把整个研发中台拆分过程的一些心得总结

大东(AIP智能体运营专员)

低代码为什么会受到企业青睐?是何原因?

优秀

低代码

架构实战营 3-3 架构设计中期随堂练习

西山薄凉

「架构实战营」

自动化测试技术笔记(二):准备工作的切入点

老张

自动化测试

Gradle基础操作一

派大星

Gradle

ZBC成功上线PancakeSwap的糖浆池,并有望在不久上线Binance

鳄鱼视界

本年度软件供应链攻击事件回顾

SEAL安全

基础设施 第三方风险 软件供应链安全 软件供应链攻击 12 月 PK 榜

Dubbo架构设计与源码解析(二) 服务注册

京东科技开发者

架构 dubbo spi 服务注册 Dubbo SPI

我把传统业务架构升级到业务中台架构的心得

大东(AIP智能体运营专员)

【FAQ】申请Health Kit权限的常见问题及解答

HarmonyOS SDK

HMS Core

Celestia 简介:重新构想的区块链

devpoint

区块链 以太坊 12月月更 Celestia

VUCA时代下的产品创新方法论(上)

Jackchang234987

VUCA 产品创新

RayLink 远控软件又推出 2 个重磅宝藏功能免费用

RayLink远程工具

远程控制软件 远程办公软件 远控软件

架构实战营 3-2 架构设计前期随堂练习

西山薄凉

「架构实战营」

跨平台应用开发进阶(三十):uni-app 实现集成火山视频直播服务

No Silver Bullet

uni-app 12月月更 服务集成 火山视频直播服务

使用brew安装历史版本的几种方式

Geek_pwdeic

macos homebrew

在新基建数字化的时代,寻找自我的突破和价值创造

大东(AIP智能体运营专员)

专访实在智能孙林君:颠覆传统RPA的实在IPA模式如何做到真正人人可用

王吉伟频道

RPA 机器人流程自动化 实在智能 实在IPA模式 RPA人人可用

企业常用shell脚本汇总

@下一站

企业运维 12月日更 12月月更 shell脚本 脚本程序

云渲染怎么收费??云渲染一张图多少钱?

Renderbus瑞云渲染农场

云渲染 云渲染平台

Verilog的模块与端口

芯动大师

Verilog Verilog语法 Verilog模块端口

【开源项目】今天推荐一个很好的开源项目,一款新的编程语言——HVML

hvmlenvoy

GitHub 编程语言 开源项目

我对中台的理解和企业数字中台建设的思考

大东(AIP智能体运营专员)

ZBC成功上线PancakeSwap的糖浆池,并有望在不久上线Binance

股市老人

“唤醒”大数据价值,敏捷数据开发成为企业数字化发展的法宝

数造万象

如何构建企业内的 TiDB 自运维体系

得物技术

数据库 运维 TiDB TiDB 底层架构 12 月 PK 榜

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