2011-05-26 40 views
2

有人可以解釋索引文件如何在數據庫中工作嗎?數據庫中的索引文件

即是主要的次要和聚集索引?我不明白的是,主要索引是用在數據庫中的有序列上,次要索引用於數據庫中的無序文件。我可以理解,通過訂購一個索引文件,我們可以執行二進制搜索來更快地找到記錄,但是我想我得不到的是在處理已經排序的列時使用主索引的要點?你能不能在列上應用優化搜索算法,而不是創建主索引?

回答

0

我假設你從SQL Server引用了你正在查看的聚集索引?就我所知,這是特定於各種風格的SQL Server(例如Microsoft和Sybase)。有效的聚集索引使表格成爲有序的。表中的數據按聚簇索引的順序插入。其他RDBMS(例如Oracle,Informix等)不使用聚簇索引。

主索引是唯一索引。它是索引主鍵並強制唯一性的一個。每個表只能有一個主鍵(因此一個主索引),但是可以有更多的唯一列或列組合,因此我們有候選索引;其他不是主鍵的唯一索引。

輔助索引不是我遇到的術語,但我相信(來自快速Google)它是任何其他非主要索引。因此,它可以是唯一的或不是。如果唯一,它是一個候選索引。

因此,我們最終與

  1. 聚集索引
  2. 候選索引
  3. 主索引
  4. 二級索引

和索引可以更加即其中的一個,例如中學和獨特的和候選人。

該索引通過允許RDBMS更快地訪問相關數據來加速數據訪問(在某些情況下)。想象一下,我說你收集我一把刀叉。你可能會猜想它在廚房裏,然後開始尋找繪畫。如果你有一個指數說刀具在廚房的第二臺平底鍋裏,你可以直接進入平局並拿到刀。

同樣,因爲我們編寫'select * from table where col = 567',RDBMS知道要去查找數據表。但是如果col被索引,RDMBS可以直接進入'567'的位置並選擇它,而無需查看col中的每個值。