实现查询操作的算法
1、选择
(1)简单的全表扫描
(2)索引扫描算法
2、连接
(1)嵌套循环算法
对外层循环表上的每一个元组,检索其内层循环表中元组,检查其是否相等,满足连接条件输出。
数据存取按照数据块读入内存,不是按照元组进行I/O。
(2)排序合并算法
等值连接常用算法。
算法步骤:
如果连接表未排序,先按照连接属性排序,排序后做连接。
当在B表扫描到不相同的第一个元组时,返回A表开始扫描下一个元组,再扫描B表上具有相同属性的元组,并把它们连接起来。
(3)索引连接算法
①在B表上建立索引
②对A表每一个元组,通过索引来查询相关元组
③把元组连接起来
(4)hash join
把连接属性作为hash码,用同一个hash函数把两表相连