15、数据库查询优化全解析

数据库查询优化全解析

1. 查询优化概述

查询优化是从众多可用策略中挑选出最有效查询评估计划的过程,特别是在处理复杂查询时,该过程尤为重要。通常不会期望用户编写的查询能高效处理,而是由系统创建一个能最小化查询评估成本的计划,这就是查询优化发挥作用的地方。

例如,对于查询“找出在位于Arganzuela的任何分行拥有账户的所有客户的姓名”,其关系代数表达式最初为:
∏nombre - cliente (σ ciudad - sucursal = «Arganzuela» (sucursal ⋈ (cuenta ⋈ impositor)))

这个表达式会创建一个很大的中间关系。但实际上,我们只关心该关系中对应位于Arganzuela的分行的少数元组,且只关注六个属性中的一个。因此,可将查询表示为等价但能生成更小中间关系的表达式:
∏nombre - cliente ((σ ciudad - sucursal = «Arganzuela» (sucursal)) ⋈ (cuenta ⋈ impositor))

2. 统计信息估计

数据库系统的目录会存储关于数据库关系的统计信息,这些信息对于估计查询计划中各操作结果的统计数据非常关键。
- 目录信息
- (n_r):关系(r)的元组数。
- (b_r):包含关系(r)元组的块数。
- (t_r):关系(r)每个元组的字节大小。
- (f_r):关系(r)的块因子,即一个块中能容纳的关系(r)的元组数。
- (V (A, r)):关系(r)中属性(A)出现的不同值的数量。如果(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值