写点什么

内存优化表的索引

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

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

关注

评论

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

Netty实战入门教程

不在线第一只蜗牛

Netty

谷云科技发布业内首份 Oracle OSB 迁移到 iPaaS 技术白皮书

谷云科技RestCloud

oracle API 白皮书 集成平台 ipaas

开源 TTS 模型 Chatterbox:支持实时合成,0.5B 规模;Odyssey:实时互动视频,30 帧/秒流式传输丨日报

声网

低代码平台的前世今生:AI时代的新起点!

优秀

低代码 AI低代码

掘金 AI 编程社区- 人人都是 AI 编程家竞赛

Captain

MCP

下一代入口之战:大厂为何纷纷押注智能体?

Alter

YashanDB金融特性数据库根原创实验室成果发布,1:1替代Oracle能力获数十家金融权威专家验证

极客天地

项目管理协作软件:禅道 VS Leangoo

axe

项目管理工具 办公软件 禅道 leangoo

天翼云出席中国系统架构师大会,以科技创新引领产业升级!

天翼云开发者社区

云计算 天翼云 息壤

WAAP对提升网站访问速度有什么作用?

天翼云开发者社区

WAAP

CAD文字样式如何修改?快来试试多行文字+自定义样式!

在路上

cad cad看图 CAD看图王

【万字长文】大模型开源开发全景与趋势解读

蚂蚁开源

人工智能 开源 大模型 开源生态 AI趋势

做「长期主义者」的技术人们

京东零售技术

RocketMQ实战—基于RocketMQ升级订单系统架构

不在线第一只蜗牛

RocketMQ

什么是安全访问服务边缘

天翼云开发者社区

安全 访问控制

SpringCloud Alibaba Seata 分布式事务处理的详细使用以及详细剖析

量贩潮汐·WholesaleTide

分布式 #SpringCloud

分布式系统学习:分布式事务

电子尖叫食人鱼

学习 分布式

基于华为开发者空间,部署Cherry Studio+高德地图MCP Server构建出行规划助手

华为云开发者联盟

华为云ModelArts AI‘’ 华为开发者空间 MCP

华为开发者空间 - MindSpore魔法课堂:手把手教你玩转AI框架

华为云开发者联盟

Jupyter Notebook 昇思MindSpore AI‘’ 华为开发者空间

时序数据库 Apache IoTDB V2.0.3 发布|新增元数据导入导出脚本适配表模型功能

Apache IoTDB

AI会抢走你的工作?还是让你身价翻倍?天润融通告诉你

天润融通

企业数字化转型的7个难点

优秀

数字化转型 数字化

英特尔代工:先进制造与全球供应网络齐头并进

E科讯

浩辰CAD看图王:携手鸿蒙,CAD技术创新驱动企业数字化转型

在路上

cad 浩辰CAD CAD看图王

ETL脚本节点使用的方式

谷云科技RestCloud

数据处理 API 脚本 ETL 数据集成

员工如何构建核心岗位能力?这里有答案

YG科技

MES系统:助力企业数字化转型

万界星空科技

数字化转型 制造业 mes 万界星空科技mes 数字化‘’

.NET8带来的一些新特性

电子尖叫食人鱼

.net

Fusion引擎赋能:流利说如何用阿里云Serverless Spark实现数仓计算加速

阿里云大数据AI技术

大数据 spark Serverless 运维 数据处理

DevOps效能引擎:模板版本管理,让每一次变更可控可追溯

嘉为蓝鲸

DevOps 持续集成 智能运维

《Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving》阅读笔记

AI布道Mr.Jin

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