现在的位置: 首页 > 综合 > 正文

聚集索引与非聚集索引

2013年10月02日 ⁄ 综合 ⁄ 共 446字 ⁄ 字号 评论关闭

以下是个人理解,不一定正确

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

聚集索引,数据是其叶子节点,因此,聚集索引包含了数据,数据在聚集索引里面。也因此,数据是按照聚集索引有顺序地存放,连续有序,所以查找起来时,可能只需读取很少的页就能找到数据。

建立了聚集索引的表,存放结构是B树;否则是堆(Heap)。

非聚集索引完全独立于表,叶子节点存放书签(bookmark)或者聚集索引的键值,就看表有无建立聚集索引,没建聚集索引的话,存放书签,就是一些ROW ID:文档编号、分页

编号和页内记录编号所合成的值,这种情况下的查找,就称为书签查找(bookmark)

用非聚集索引查找,因为数据散布文档各处,需要读取不少数据页,然后再从中读出记录。最惨的是,就算n条记录位于同一数据页,该数据页也会被读N次!因此,有时候查找记录数多,还不如干脆全表扫描,可能还节省一点。

抱歉!评论已关闭.