首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >索引数据行大小不返回实际大小?

索引数据行大小不返回实际大小?
EN

Stack Overflow用户
提问于 2014-01-01 15:47:50
回答 1查看 64关注 0票数 1
代码语言:javascript
运行
复制
CREATE TABLE dbo.overhead ( myID INT NOT NULL ) ;

CREATE CLUSTERED INDEX CIX_overhead -- not unique!
ON dbo.overhead(myID) ;

INSERT  INTO dbo.overhead
        ( myID )
        SELECT  1 ;


SELECT  min_record_size_in_bytes ,
        max_record_size_in_bytes

FROM    sys.dm_db_index_physical_stats(DB_ID(), OBJECT_ID(N'dbo.overhead'),

                                       NULL, NULL, N'SAMPLED') ;



min_record_size_in_bytes   max_record_size_in_bytes

------------------------ ------------------------

25                         25

在插入INT记录1行时,它应该给出4个字节,为什么是25字节?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-01 16:01:59

  • 记录头的4个字节
  • int的4个字节
  • 空位图中列数的2个字节。
  • 空位图的1字节
  • 14字节版本控制标记,因为您启用了快照隔离(或正在使用MARS)

总共是25个字节。页面底部的槽指针还有两个额外的字节,但是在DMV中没有考虑到这些字节。

来源:http://www.sqlskills.com/blogs/paul/inside-the-storage-engine-anatomy-of-a-record/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20870298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档