sql server系统表详细说明 之 sys.column_store_segments


为列存储索引中的每个列段返回一行。 每个行组的每个列都有一个列段。 例如,具有10行组和34列的表将返回340行。

 

SYS.COLUMN_STORE_SEGMENTS (TRANSACT-SQL)
列名称数据类型说明
partition_idbigint指示分区 ID。 在数据库中是唯一的。
hobt_idbigint具有此列存储索引的表的堆或B 树索引 (HoBT) 的 ID。
column_idint列存储列的 ID。
segment_idint行组的 ID。 为实现向后兼容性,即使这是行组 ID,列名仍将继续 segment_id 调用。 使用 <segment_id> 可以唯一地标识段 <hobt_id, partition_id, column_id> 。
versionint列段格式的版本。
encoding_typeint用于该段的编码类型:

1 = 不含字典的 VALUE_BASED 非字符串/二进制文件 (类似于4,具有一些内部变体)

2 = 在字典中具有通用值的 VALUE_HASH_BASED 非字符串/二进制列

3 = STRING_HASH_BASED 字典中包含通用值的字符串/二进制列

4 = 不带字典的 STORE_BY_VALUE_BASED 非字符串/二进制

5 = STRING_STORE_BY_VALUE_BASED 字符串/二进制,无字典

有关详细信息,请参阅备注部分。
row_countint行组中的行数。
has_nullsint1 如果列段具有 Null 值。
base_idbigint如果正在使用编码类型1,则为基值 ID。 如果未使用编码类型1,则 base_id 设置为-1。
magnitudefloat如果正在使用编码类型1,则为数量级。 如果未使用编码类型1,则数量级设置为-1。
primary_dictionary_idint值0表示全局字典。 值-1 指示没有为此列创建全局字典。
secondary_dictionary_idint如果为非零值,则指向当前段中此列的本地字典 (即行组) 。 值-1 指示此段没有本地字典。
min_data_idbigint列段中的最小数据 ID。
max_data_idbigint列段中的最大数据 ID。
null_valuebigint用于表示 Null 的值。
on_disk_sizebigint段大小(字节)。

备注

的列存储段编码类型由选择,其 数据库引擎 目标是通过分析分段数据来实现最低的存储成本。 如果数据大多不同,则 数据库引擎 使用基于值的编码。 如果数据主要不是唯一的,则 数据库引擎 使用基于哈希的编码。 基于字符串和基于值的编码之间的选择与要存储的数据的类型有关,无论字符串数据还是二进制数据。 如果可能,所有编码都利用位打包和长度为长度的编码。

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
评论列表

发表评论

评论内容
昵称:
关联文章

sql server系统详细说明 sys.column_store_segments
sql server系统详细说明 sys.all_columns
sql server系统详细说明 sys.masked_columns
sql server系统详细说明 sys.columns
sql server系统详细说明 sys.system_columns
sql server系统详细说明 sys.column_store_dictionaries
sql server系统详细说明 sys.column_store_row_groups
sql server系统详细说明 sys.computed_columns
sql server系统详细说明 sys.system_objects
sql server系统详细说明 sys.stats_columns
sql server系统详细说明 sys.objects
sql server系统详细说明 sys.tables
sql server系统详细说明 sys.all_objects
sql server系统详细说明 sys.system_views
sql server系统详细说明 sys.stats
sql server系统详细说明 sys.parameters
sql server系统详细说明 sys.system_parameters
sql server系统详细说明 sys.sql_dependencies
sql server系统详细说明 sys.sql_modules
sql server系统详细说明 sys.default_constraints