除了文件本身(称作数据区)之外,别建立一张指示逻辑记录和物理记录之间一一对应关系的表--索引表。
索引表中的每一项称作索引项。不论主文件是否按关键字有序,索引表中的索引项总是按关键字(或逻辑记录号)顺序排列。
若数据区中的记录也按关键字顺序排列,则称索引顺序文件。反之,若数据区中记录不按关键字顺序排列,则称非顺序文件。
数据区:
物理记录号 | 姓名 | 年龄 | 体重(关键字) |
1 | 李由 | 57 | 62 |
2 | 王天 | 54 | 76 |
3 | 七大 | 24 | 75 |
4 | 张强 | 24 | 72 |
5 | 陈华 | 24 | 53 |
索引表:
体重(关键字) | 物理记录号 |
53 | 5 |
62 | 1 |
72 | 4 |
75 | 3 |
76 | 2 |
有了按体重索引的索引表后,按体重查找学生可先在索引表中查找(因索引表中按体重有序,所以可用效率高的查找算法)然后得到对应的物理记录号后到数据区取出对应物理记录。
索引文件可以大大提高表查找的速度。因为索引表容量小,且索引表按关键字有序。