爲了提升查詢查詢效率,咱們一般習慣對錶建索引,索引分爲彙集索引和非彙集索引,它們都是一種B樹型的存儲結構。索引
若是一個表沒有彙集索引,那麼它是以堆的方式存儲,也就是表中的數據沒什麼順序的。不然假如咱們爲表建立了彙集索引,那麼其存儲是有順序的。效率
其實有建立了彙集索引的表,數據表自己也是索引,只是做爲葉子節點存在。數據
建立非彙集索引不會影響表的存儲方式,換句話說,表仍是以堆的方式存儲。建立非彙集索引的時候,多個書籤列,這個書籤列的值,是由表是否有彙集索引決定的。查詢
若是表中有彙集索引,那麼書籤值是彙集索引的鍵值,當按索引查找的時候,會先找到該索引行,而後再經過該索引行存儲的鍵值去查找表中的數據。文件
若是表中沒有彙集索引,那麼書籤值是RID值,也是是存儲的是(文件:頁:行),經過定位就能找到該行數據,該值是一個物理地址,不是鍵值了。習慣