2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

内存优化表的索引

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

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

关注

评论

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

专科出身,2年进入苏宁,5年跳槽阿里,论我是怎么快速晋升的?

钟奕礼

Java 编程 程序员 架构 面试

莫高窟永不褪色的微笑,照耀在华为未曾止步的数据保护征程

脑极体

美团点评高级1234面:算法+HashMap+Zookeeper+线程+Redis+kafka

钟奕礼

Java 编程 程序员 架构 面试

2021阿里面试通关手册必备:5000字面经解析(技术/攻克)

比伯

Java 架构 面试 程序人生 计算机

gorm源码阅读之schema

werbenhu

Go 语言 gorm

WebRtc学习之旅 —— 初认识

小驰笔记

新动能 · 新机遇:SaaS软件提供商 Zoho 25 周年战略再升级

科创人

1.4 Go语言从入门到精通:Go代理goproxy

xcbeyond

Go 语言 4月日更 goproxy

Golang 泛型浅析

D

开源 云原生 编译器 语言 Go 语言

WebRtc学习之旅 —— Android端应用开发

小驰笔记

区块链的创新技术给奢侈品行业带来了新的机会

CECBC

奢侈品

勇做全球区块链“分布式存储”领航

CECBC

分布式

拥抱云原生,基于eBPF技术实现Serverless节点访问K8S Service

UCloud技术

容器 云原生 k8s serverles

Rust:范型使用trait限定的一点总结

Microwood

rust Trait 范型 范型约束Output Add

访问控制相关概念及常见模型

龙归科技

身份和访问管理

探索js让你的网页“自己开口说话”

云小梦

JavaScript 音视频 audioContext API

架构培训作业

肖春

架构师训练营

区块链电子合同--赋能企业数字化转型

13530558032

零基础学Tableau系列 | 01—Tableau简介、条形图与直方图

不温卜火

数据可视化 数据清洗 4月日更

从0开始的支付业务架构演进之路

誰敢得罪我

大厂面试必须掌握的 Linux 性能优化题

倪朋飞

Linux 面试 性能优化

Java高级研发:2021阿里天猫、中间件、蚂蚁金服JD要求+面题答案

钟奕礼

Java 编程 程序员 架构 面试

智能取色-为多元化的产品场景选择完美的色彩组合

百度贴吧技术团队

智能取色 个性化 视觉策略 沉浸感

Redis 期中测试

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

历史命令被黑客删除?教你实时备份

运维研习社

Linux 4月日更 服务器安全

可能是最糟糕的愚人节玩笑:科技史上的美式疯狂

脑极体

百家号在线视频编辑器的技术演进

百度Geek说

大前端

源中瑞智慧平安社区--为平安生活助力

13530558032

朱嘉明:《量子时代和数字经济2.0 》推荐序

CECBC

数字经济

Redis为什么变慢了?一文讲透如何排查Redis性能问题 | 万字长文

Java redis 程序员 架构 计算机

I'm Back

小天同学

思考 个人感悟 4月日更

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