为什么聚簇索引的组合索引值的最大允许大小为900字节?

问题描述 投票:-1回答:1

我想知道SQL Server限制组合索引的最大大小为900(https://docs.microsoft.com/en-us/sql/t-sql/statements/create-index-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15)字节的原因。

sql-server indexing clustered-index database-indexes
1个回答
0
投票

为了完全理解这一点,您将需要深入研究SQL Server数据页和索引表示的结构。这是两个开始的地方:pagesindexes

不过,让我给你个主意。数据库将数据存储在“页面”上。这些固定的内存量,在SQL Server中为8,192字节。数据和索引都存储在同一页面上。这对管理第三级存储有很大帮助。页面管理系统是任何数据库系统中不起眼的重要部分。

索引页面需要存储各种类型的信息:

  • 页面标题的开销。
  • 索引键“拆分”值。
  • 引用更多索引页或数据页上的行。

至少需要一个“拆分”值。因此很明显,索引键必须小于8,192字节。 SQL Server允许每个索引页上的“拆分”值以上。确切的长度由页面上存储的内容的简单算术确定。

© www.soinside.com 2019 - 2024. All rights reserved.