HOBT分配单元(发音和指环王中的霍比特人一样)

HOBT分配单元(发音和指环王中的霍比特人一样)

转载:http://www.cnblogs.com/wcyao/archive/2011/06/28/2092270.html

昨天,我解释了什么是IAM链和在SQL SERVER 2000中是如何和索引相配对的。一个表可以有一个堆或聚集索引,可有249个非聚集索引,可有一个LOB索引(一般称为TEXT索引),这就是说SQL SERVER 2000中,一个表中最多有251个IAM链。

在SQL SERVER 2005中,IAM链和IAM页与SQL SERVER 2000中是一模一样的,但是现在一个表可以拥有750000条IAM链!喔,我们到底干了什么?

现在IAM链为三类东西映射分配空间:

1.堆和B树(B树是系统用来存储索引的内部结构)

2.LOB数据

3.行溢出数据

我们称这些分配空间的单元为分配单元(allocation units),这三类分配单元的相应的内部名称为:

1.HOBT分配单元(发音和指环王中的霍比特人一样)

2.LOB分配单元

3.SLOB分配单元(SMALL –LOB)

对应的外部名称为:

1.IN_ROW_DATA分配单元

2.LOB_DATA分配单元

3.ROW_OVERFLOW_DATA分配单元

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

争用索引造成死锁

 <resource-list>
    <keylock hobtid="72057594592690176" dbid="7" objectname="" indexname="" id="lock8c9066380" mode="X" associatedObjectId="72057594592690176">
     <owner-list>
      <owner id="processd2274c8" mode="X"/>
     </owner-list>
     <waiter-list>
      <waiter id="processd245288" mode="U" requestType="wait"/>
     </waiter-list>
    </keylock>
    <keylock hobtid="72057594592690176" dbid="7" objectname="" indexname="" id="lock6d968ab80" mode="U" associatedObjectId="72057594592690176">
     <owner-list>
      <owner id="processd245288" mode="U"/>
     </owner-list>
     <waiter-list>
      <waiter id="processd2274c8" mode="X" requestType="wait"/>
     </waiter-list>
    </keylock>
   </resource-list>

posted @ 2013-11-23 11:10  桦仔  阅读(492)  评论(0编辑  收藏  举报