索引文件
爲了提高文件的檢索效率,可以採用索引方法組織文件。採用索引這種結構,邏輯上連續的文件可以存放在若干不連續的物理塊中,但對於每個文件,在存儲介質中除存儲文件本身外,還要求系統另外建立一張索引表,索引表記錄了文件信息所在的邏輯塊號和與之對應的物理塊號。索引表也以文件的形式存儲在存儲介質中,索引表的物理地址則由文件說明信息項給出。索引結構如圖5.21所示。 圖5.21索引結構文件的示意圖 在很多情況下,有的文件很大,文件索引表也就較大。如果索引表的大小超過了一個物理塊,可以採用間接索引(多重索引),也就是在索引表所指的物理塊中存放的不是文件信息,而是裝有這些信息的物理塊地址。這樣,如果一個物理塊可裝下n個物理塊地址,則經過一級間接索引,可尋址的文件長度將變爲n×n塊。如果文件長度還大於n×n塊,還可以進行類似的擴充,即二級間接索引,其原理如圖5.22所示。 圖5.22文件的多級索引結構 不過,大多數文件不需要進行多重索引,也就是說,這些文件所佔用的物理塊的所有塊號可以放在一個物理塊內。如果對這些文件也採用多重索引,則顯然會降低文件的存取速度。因此,在實際系統中,總是把索引表的頭幾項設計成直接尋址方式,也就是這幾項所指的物理塊中存放的是文件信息;而索引表的後幾項設計成多重索引,也就是間接尋址方式。在文件較短時,就可利用直接尋址方式找到物理塊號而節省存取時間。
|