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>