Database Reference
In-Depth Information
magnitude is the magnitude used for value-based encoding. For other encoding types,
it returns -1.
min_data_id and max_data_id represent the minimum and maximum value in a column
within the segment. SQL Server analyzes those values during query execution and
eliminates segments that do not store values that satisfy query predicates. This process
works in a similar way to partition elimination in partitioned tables.
null_value represents the value used to indicate nulls.
on_disk_size indicates the size of a segment in bytes.
sys.column_store_dictionaries
The sys.column_store_dictionaries view provides information about the dictionaries used by a columnstore index.
Listing 34-13 shows the code that you can use to examine the list of dictionaries. Figure 34-20 illustrates the
query output.
Listing 34-13. Examining the sys.column_store_dictionaries view
select p.partition_number as [partition], c.name as [column]
,d.column_id, d.dictionary_id, d.version, d.type, d.last_id
,d.entry_count
,convert(decimal(12,3),d.on_disk_size / 1024. / 1024.) as [Size MB]
from
sys.column_store_dictionaries d join sys.partitions p on
p.partition_id = d.partition_id
join sys.indexes i on
p.object_id = i.object_id
left join sys.index_columns ic on
i.index_id = ic.index_id and
i.object_id = ic.object_id and
d.column_id = ic.index_column_id
left join sys.columns c on
ic.column_id = c.column_id and
ic.object_id = c.object_id
where
i.name = 'IDX_FactSales_ColumnStore'
order by
p.partition_number, d.column_id
Figure 34-20. sys.column_store_dictionaries output
 
Search WWH ::




Custom Search