理論基礎 索引 分塊索引

2021-08-19 13:36:27 字數 780 閱讀 5285

分塊索引既適用於靜態索引,又適用於動態索引。

在稠密索引中,索引項的個數與檔案記錄個數相同,空間代價很大,為減少索引項的個數,可以對檔案分塊,使分塊有序。

分塊有序,是指資料集的記錄分為若干塊,並且這些塊滿足兩個條件:

在分塊索引表中進行的查詢稱為分塊查詢,其分兩步進行:

在索引表中確定待查關鍵碼所在的塊:塊間是有序的,可使用二分查詢、插值查詢等提高效率

在相應塊中查詢待查關鍵碼:塊內是無序的,只能使用順序查詢

對於分塊有序的資料集,將每塊對應乙個索引項,其結構分為三個部分:

塊長:儲存塊中記錄個數

設 n 個記錄的檔案分成 m 個塊,每個塊內均有 t 條記錄,則:n=m*t

設 lb 為查詢索引表確定關鍵碼所在塊的平均查詢長度,lw 為在塊內查詢關鍵碼的平均查詢長度,則分塊查詢的平均查詢長度為:asl=lb+lw

若採用順序查詢對索引表進行查詢,則分塊查詢的平均查詢長度為:

根據上面的式子可以發現,平均查詢長度不僅取決於資料集的總記錄數 n,還和每乙個塊的記錄個數 t 有關,最佳的情況就是分的塊數 m 與塊中的記錄數 t 相同,此時有:n=m*t=t*t

那麼有:

可見,分塊查詢的時間複雜度 o(√n) 比順序查詢的 o(n) 提高不少,但與二分查詢的 o(logn) 相比還是有不小的差距,因此在確定塊的過程中,由於塊間有序,所以可以採用二分、插值等方法來提高效率。

TCP IP理論基礎

一 tcp ip的分層模型 osi協議參考模型,它是基於國際標準化組織 iso 的建議發展起來的,它分為7個層次 應用層 表示層 會話層 傳輸層 網路層 資料鏈路層及物理層。這個7層的協議模型雖然規定得非常細緻和完善,但在實際中卻得不到廣泛的應用,其重要的原因之一就在於它過於複雜。但它仍是此後很多協...

TCP IP理論基礎

linux中網路棧的介紹一般分為四層的internet模型。分別為應用層 傳輸層 網際層和網路介面。tcp ip實際上是乙個協同工作的通訊家族,為網路資料通訊提供通路。為方便將tcp ip協議族大致上分為三部分 1.internet協議 ip 這一部分也稱為網路層。主要包括ip icmp和arp。其...

SCM理論基礎

在乙個大型的專案中,會有很多人員,比如說專案管理者 開發人員等,人多的情況下,很可能就會在及時溝通 管理等方面出現問題,具體可以總結為 這些問題的存在,不僅會使我們的開發效率很低,做出來的產品質量也會受影響。有了scm,就很好的解決了這些問題。scmsoftwareconfiguration man...