数据库学习的一天(10)
第十九讲 查询实现算法
1.过程:sql->关系模式的运算的各种组合->DBMS的解释与调用
2.三大类操作:
3.各类参数:
4.连接操作的实现算法:①-④表空间扫描法
①最笨的:逐个块存入,然后进行连接,每次在内存里的只有三个块 基本实现方法
②稍微聪明的:将两个关系完全放进内存里,然后再做连接 全主存
③稍微聪明的:将其中一个放得下的关系完全放进内存里,另一个关系逐块放入,再做连接
④无可奈何的:将其中一个关系都拆分成最大能放进的子集,即M-2,然后另一个关系逐个存入,结束再下一个子集
5.迭代器算法:用于解决单一元组的一元操作
分为open函数,GetNext函数,close函数,而且上层的迭代器可以调用下层的迭代器
6.一趟扫描算法:
7.连接操作的优化:
讲条件转化为散列值的匹配
8.基于索引的选择算法:
由于索引文件位于内存,比较其磁盘的存取时间,内存的访问时间简直可以忽略不计,
分析:当有聚簇的情况下,需要搜索的块数,用记录数/块的容量即可,当有索引的时候,就不用了将整条记录放入内存,根据索引找到相应的记录,再存入内存,所以时间上只要算条件合适的记录数、