数据库
首页 > 数据库> > 数据库系统原理 (九): 关系查询处理及其查询优化

数据库系统原理 (九): 关系查询处理及其查询优化

作者:互联网

参考《数据库系统概论》

目录

关系数据库系统的查询处理

查询处理步骤

在这里插入图片描述

实现查询操作的算法示例

选择操作的实现

简单的全表扫描方法

索引(或散列)扫描方法


连接操作的实现

本节只讨论等值连接(或自然连接)最常用的实现算法


SELECT * FROM Student, SC 
WHERE Student.Sno=SC.Sno;

嵌套循环方法 (nested loop)

排序-合并方法 (sort-merge join)

索引连接(index join)方法

Hash Join 方法

关系数据库系统的查询优化

查询优化概述



查询优化的总目标

一个实例

# 求选修了2号课程的学生姓名
SELECT  Student.Sname
FROM  Student, SC
WHERE  Student.Sno=SC.Sno AND SC.Cno='2';

# 求选修了2号课程的学生姓名
SELECT  Student.Sname
FROM  Student, SC
WHERE  Student.Sno=SC.Sno AND SC.Cno='2';

代数优化

关系代数表达式等价变换规则


常用的等价变换规则

查询树的启发式优化

典型的启发式规则


关系表达式的优化


物理优化

代数优化比较重要,物理优化了解即可

基于启发式规则的存取路径选择优化

选择操作的启发式规则

小关系


大关系

连接操作的启发式规则

基于代价的优化

统计信息

代价估算示例

全表扫描算法的代价估算公式

索引扫描算法的代价估算公式

嵌套循环连接算法的代价估算公式

排序-合并连接算法的代价估算公式

标签:查询处理,元组,索引,Student,SC,数据库系统,查询,优化
来源: https://blog.csdn.net/weixin_42437114/article/details/115963301