|
|
51CTO旗下网站
|
|
移动端

4.1.3 关系数据库系统的查询优化(1)

《新编数据库原理习题与解析》第4章关系系统及其查询优化,本章介绍关系系统的定义和分类;查询优化的一般准则;关系代数等价变换规则。本节为大家介绍关系数据库系统的查询优化。

作者:李春葆来源:清华大学出版社|2013-06-23 21:48

4.1.3  关系数据库系统的查询优化(1)

1. 关系代数表达式中的查询优化

关系系统的查询优化既是关系数据库管理系统实现的关键技术,又是关系系统的优点。用户只要指出"干什么",不必指出"怎么干"。

在关系代数表达式中需要指出若干关系的操作步骤,问题是怎样做才能保证省时、省空间、效率高?这就是查询优化的问题。

需要注意的是,在关系代数运算中,笛卡尔积和连接运算最费时间和空间,究竟应该采用什么样的策略才能节省时间和空间?这就是优化的准则。

2. 优化的准则

查询优化的准则主要有:

尽可能先执行选择操作;

把笛卡尔积和随后的选择操作合并成连接运算;

同时计算一连串的选择和投影操作;

公共子表达式的值只计算一次;

在执行连接前适当对关系进行排序或建立索引。

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

优化的策略结构涉及关系代数表达式,所以讨论关系代数表达式的等价变换规则十分重要。常用的等价变换规则有如下10种(E1 ≡ E2表示E1与E2等价)。

(1)连接、笛卡尔积交换律

设E1和E2是关系代数表达式,F是连接运算的条件,则有:


(2)连接、笛卡尔积结合律

设E1、E2、E3是关系代数表达式,F是连接运算的条件,则有:

(3)投影的串接定律

设E是关系代数表达式,A1,…,An和B1,…,Bm是属性名,且{A1,…,An}是{B1,…,Bm}的子集。则有:

πA1,…,An(πB1,…,Bm(E)) ≡ πA1,…,An(E)

(4)选择的串接定律

设E是关系代数表达式,F1、F2是选取条件表达式,选择的串接定律说明选择条件可以合并,则有:

бF1(бF2(E)) ≡бF1∧F2 (E)

(5)选择与投影的交换律

设E是关系代数表达式,F是选取条件表达式,并且只涉及A1,…,An属性,则有:

бF(πA1,…,An(E)) ≡ πA1,…,An(бF (E))

若F中有不属于A1,…,An的属性B1,…,Bm,那么有更一般的规则:

πA1,…,An(бF(E)) ≡ πA1,…,An(бF(πA1,…,An,B1,…,Bm(E)))

该规则可将投影分裂为两个,使得其中的一个可能被移到树的叶端。

(6)选择与笛卡尔积的交换律

若F涉及的都是E1中的属性,则:

бF(E1×E2) ≡ бF(E1)×E2

如果F=F1∧F2,并且F1只涉及E1中的属性,F2只涉及E2中的属性,则有:

бF(E1×E2) ≡ бF1(E1)×бF2(E2)

(7)选择与并的交换律

设E=E1∪E2,El、E2有相同的属性,则:

бF(E1∪E2) ≡ бF1(E1)∪бF2(E2)

(8)选择与差的交换律

设El、E2有相同的属性,则:

бF(E1-E2) ≡ бF(E1)-бF(E2)

(9)投影与笛卡尔积的交换律

设E1、E2是两个关系表达式,A1,…,An是E1中的属性,B1,…,Bm是E2中的属性,则:

πA1,…,An,B1,…,Bm(E1×E2) ≡ πA1,…,An(E1)×πB1,…,Bm(E2)

(10)投影与并的交换律

设El、E2有相同的属性,则:

πA1,…,An(E1∪E2) ≡ πA1,…,An(E1)∪πA1,…,An(E2)

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

226人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

87人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 51CTO叶老师

483人订阅学习

读 书 +更多

Microsoft SQL Server 2005 技术内幕:T-SQL查询

本书是Inside Microsoft SQL Server 2005系列四本著作中的一本。它详细介绍了T-SQL的内部构造,包含了非常全面的编程参考。它提供了使用Tra...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客