2016-05-13 7 views
0

Ich betreibe:SQL Server: Was bedeutet Spalte "leaf_offset" in der Ansicht "sys.system_internals_partition_columns"?

select c.column_id, c.Name, ipc.* 
from sys.system_internals_partition_columns ipc 
join sys.partitions p 
    on pc.partition_id = p.partition_id 
join sys.columns c 
    on c.column_id = pc.partition_column_id 
    and c.object_id = p.object_id 
where p.object_id = object_id(N'TABLE_NAME') 
order by c.column_id; 

und das ist das Ergebnis:

enter image description here

Könnten Sie bitte erklären, warum leaf_offset eine -1, -2 und -3 Wert für die letzten 3 Spalten?

Here Ich habe einige Informationen über sys.system_internals_partition_columns gefunden, aber es war nicht genug zu verstehen. Hinweis: Es gibt keinen NULL-Wert für den c.Name.

Antwort

0

Ein negativer Wert für leaf_offset bedeutet, dass die Spalte eine Spalte mit variabler Länge ist. Ein Wert von -1 zeigt an, dass Spalte 7 die erste Variable ist. -2 zeigt an, dass Spalte 8 die zweite Spalte mit variabler Länge ist. In ähnlicher Weise zeigt -3 an, dass Spalte 9 die dritte Spalte mit variabler Länge ist.