線性索引查詢

2021-09-25 08:41:42 字數 1334 閱讀 7529

索引就是把乙個關鍵字與它對應的記錄相關聯的過程,乙個索引由若干個索引項構成,每個索引項至少應包含關鍵字和其對應的記錄在儲存器中的位置等資訊。索引技術是組織大型資料庫以及磁碟檔案的一種重要技術。

索引按照結構可以分為線性索引、樹形索引和多級索引。所謂的線性索引就是將索引項集合組織為線性結構,也稱為索引表。主要有以下三種線性索引:稠密索引、分塊索引、倒排索引。

對於稠密索引來講,索引項一定是按照關鍵碼有序的排列,優點是可以用到不同有序查詢演算法,大大提高效率,但是如果資料集非常大,索引也得同樣的資料集長度規模,對於記憶體有限的計算機來說,反覆訪問磁碟,查詢效能反而降低。

分塊有序,是吧資料集分為若干塊,並且這些塊需要滿足兩個條件:塊內王旭,塊間有序

對於分塊有序的資料集,將每塊對應乙個索引項,這種索引方法叫分塊索引。索引結構分為三個資料項:

在分塊索引表中查詢,分兩步進行:

查詢關鍵字所在塊,由於分塊索引是塊間有序的,所以可以採用折半查詢。

根據塊首位址找到相應塊,並在塊中順序查詢關鍵碼,因為塊中可以是無序的,所以只能順序查詢。

設n個記錄的資料集被平均分為m塊,每塊中有t條記錄,n=m*t。

lb為查詢索引表的平均查詢長度 lb=(m+1)/2

lw為塊中查詢記錄的平均查詢長度 lw=(t+1)/2

分塊索引的平均查詢長度aslw為:

aslw=lb+lw=[(m+1)/2] + [(t+1)/2 ]=1/2(m+t)+1 = 1/2( ( n/t ) + t ) + 1

最佳情況:分的塊與塊中的記錄t相同 即 n=m*t=t²

aslw=√n+1

被用來儲存在全文搜尋下某個單詞在乙個文件或者一組文件中的儲存位置的對映。它是文件檢索系統中最常用的資料結構。通過倒排索引,可以根據單詞快速獲取包含這個單詞的文件列表。

樣例(兩篇極短英文文章,編號為1、2)

在這裡這張單詞表就是索引表,索引項的通用結構是: 

記錄號表儲存具有相同次關鍵字的所有記錄的記錄號(可以是指向記錄的指標或者是該記錄的主關鍵字)

優點:查詢記錄非常快

缺點:記錄好不定長,維護困難

查詢 線性索引查詢

索引就是把乙個關鍵字與它對應的記錄相關聯的過程,乙個索引由若干個索引項構成,每個索引項至少應包含關鍵字和其對應的記錄在儲存器中的位置等資訊。索引技術是組織大型資料庫以及磁碟檔案的一種重要技術。索引按照結構可以分為線性索引 樹形索引和多級索引。這裡只 線性索引,即將索引項集合組織為線性結構,也稱為索引...

線性索引查詢

本文參考自 大話資料結構 資料結構的最終目的是提高資料的處理速度,索引就是為了加快查詢速度而設計得一種資料結構。索引就是把乙個關鍵字與它對應的記錄相關聯的過程。索引按結構可以分為線性索引 樹形索引和多級索引。我們這裡只介紹線性索引。所謂線性索引就是將索引項集合組織為線性結構,也稱為索引表。重點介紹三...

線性索引查詢

索引 就是把乙個關鍵字與它對應的記錄相關聯的過程,乙個索引由若干個索引項構成,每個索引項至少應包含關鍵字和其對應的記錄在儲存器中的位置等資訊。索引按照結構可以分為 線性索引 樹形索引和多級索引。線性索引是將索引項集合組織為線性結構,也稱為索引表。包括稠密索引 分塊索引 倒排索引。乙個完美的引子 將資...