- 查询优化是关系数据库管理系统的关键技术又是关系数据库管理系统的优点所在
- 减轻了用户对于底层存取路径的负担,只需要关注查询的正确表达上面,而不需要关注查询的效率。
- 系统优化后的程序往往比用户程序做的更好
关系数据库管理系统是根据 某种代价模型 计算出各种查询策略 的执行代价,然后选择代价最小的 执行方案。
集中式数据库有:
- IO(磁盘存取块数) 代价:是最主要的
- CPU(处理时间)代价
- 内存空间开销
- 分布式数据库 还有一个通信代价
例子: 可以使用多种等价的关系代数表达式来完成这一查询
1、计算广义笛卡儿积
- 在内存中尽可能多的加入某个表(如Student表)的若干块,留出一块另一个表(SC表)的元组
- 将SC表中的每个元组和Student表中的每个元组连接 ,连接后的元组装满一块就写到 中间文件上。
2、先做一个自然连接然后选择、投影(自然连接 写和读的中间文件 快数)
3、先做一个选择,然后再自然连接
总结