当你的才华不能撑起你的野心时,就是你该选择学习的时候了!

Sql Server查看表中所有行的分配情况

--查看表中所有行的分配情况
select c.name as column_name, c.column_id, 
       pc.max_inrow_length, pc.system_type_id, pc.leaf_offset
from sys.system_internals_partition_columns pc
    inner join sys.partitions p
        on p.partition_id = pc.partition_id
    inner 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('tb_test');
/*
column_name   column_id   max_inrow_length system_type_id leaf_offset
------------- ----------- ---------------- -------------- -----------
col1          1           16               36             4
col2          2           8000             239            20
col3          3           8000             231            -1
col4          4           8000             231            -2
从以上数据我们可以看出,leaf_offset是列数据在行内相对于行头的偏移量
即:col1从4字节开始,到19字节结束,共16字节。
    col2从20字节开始,因为是定长数据,长度为8000字节
    col3、col4属于变长数据,实际的长度因不同的记录不同而不同,这里
    不能指定准确的偏移量,-1、-2表示的是第一变长列和第二变长列。

 被MSSQL耍了-CSDN社区

 

posted @ 2022-09-06 14:17  hofmann  阅读(47)  评论(0)    收藏  举报