1、文件扫描
��⑴�线性搜索算法A1:
��由于每个数据块均被扫描,因此算法代价为:EA1=br。该算法的效率虽然低,但可用于任何文件,且不管该文件上是否有索引。
��⑵�二分法搜索算法A2:
��假设文件按照某一属性A排序,而选择条件是该属性A上的等值比较,因此可以用二分法针对文件的数据块进行扫描。算法的代价为:
��
注意:log2(br)是找到符合条件的第一个数据块的代价;SC(A,r)是满足选择条件的记录数;- 1是因为有一块已被检索到,如图9-4-1所示的注释:
图9-4-1:二分法搜索算法代价EA2的说明
2、索引扫描
��使用索引扫描文件时要考虑到访问索引的代价。
��⑴�在建立主索引的码属性上的等值比较算法A3:由于选择条件是码属性上的等值比较,因此利用在码属性上建立的主索引最多只能查找到一条记录,算法代价为:EA3=HTi+1;
��⑵�在建立主索引的非码属性上的等值比较算法A4:
��由于选择条件是非码属性A上的等值比较,因此利用在非码属性A上建立的主索引可以查找到多条记录,算法代价为:
��
这里SC(A,r)是满足选择条件的记录数。