sql server 用datetime nvarchar做索引_SQL Server之索引解析(二)

、堆表堆表通过IAM连接一起,查询时全表扫描。1、1 非聚集索引结构叶子节点数据结构:行数据结构+Rid(8字节)中间节点数据结构:(非聚集非唯一索引)行数据结构+Page(4)+2+ Rid(8字节)中间2字节有疑问?(非聚集唯一索引)行数据结构+分割符?+ Page(4)堆表非聚集索引结构1、2 聚集索引表组织结构1.2.1 聚集索引聚集索引表由根节点(Root Node)、中间节...
摘要由CSDN通过智能技术生成

、堆表

堆表通过IAM连接一起,查询时全表扫描。

1、1 非聚集索引

结构

叶子节点数据结构:行数据结构+Rid(8字节)

b39df6808382162efdb6b336df363ad6.png

  • 中间节点数据结构: 

(非聚集非唯一索引)行数据结构+Page(4)+2+ Rid(8字节)

中间2字节有疑问?

252ee6fc143988b4ddc910b1b35797d4.png

  • (非聚集唯一索引)行数据结构+分割符?+ Page(4)

cb64e2809c21ce47f86d17de9664b208.png

  • 堆表非聚集索引结构

b46f12fa0da077f3657b8589a7d51ff3.png

1、2 聚集索引表

组织结构

da22101d6dfcc7e1540ca88c93fada9a.png

1.2.1 聚集索引

聚集索引表由根节点(Root Node)、中间节点(Branch Nodes)、叶子节点组成。

如果叶子节点不够多时,根节点(Root Node)、中间节点(Branch Nodes)将不存在。

  • 根节点、中间节点行结构

  • 系统头部信息(2字节)+Key+&+PageId

  • 叶子节点

  • 参见行数据结构

c642c32880bfb85e495058dbf3575669.png

  • 插入操作对BTree影响

f95ed4c624756ca3d04cc0882f64198d.png

  • 删除操作对索引树影响

2934379167ade4c092389f58238e494b.png

  • 更新操作对索引树影响

注意事项

1. 聚集索引键值不能超过900字节,因为生成keyhashvalue时,如果大于900字节性能会有很大影响。Keyhashvalue用于查询页的数据行

2. 聚集索引键值尽量保持短,每页只有8096字节可用。减少中间节点的层数。

3. 聚集索引键值采用递增原则,有利于数据页连续性,减少BTree调整。

1.2.2 非聚集索引

  • 非聚集索引在索引表中数据结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值