数据库查询优化与性能调优全解析
1. 现代数据库管理系统的索引选择
现代数据库管理系统(DBMS)在拥有最新数据库统计信息的情况下,能够智能地确定在特定环境中使用的最佳索引类型。无论选择哪种索引,DBMS 都会确定执行给定查询的最佳计划。
2. 查询优化器的选择模式
查询优化是查询处理解析阶段的核心活动。在此阶段,DBMS 需决定使用哪些索引、如何执行连接操作、先使用哪个表等。每个 DBMS 都有自己的算法来确定访问数据的最有效方式,查询优化器有两种操作模式:
- 基于规则的优化器 :使用预设规则和分值来确定执行查询的最佳方法。规则为每个 SQL 操作分配“固定成本”,将这些成本相加得出执行计划的总成本。例如,全表扫描的固定成本为 10,按行 ID 访问表的固定成本为 3。
- 基于成本的优化器 :使用基于被访问对象统计信息的复杂算法来确定执行查询的最佳方法。优化器会将处理成本、I/O 成本和资源成本(RAM 和临时空间)相加,以确定给定执行计划的总成本。
| 优化器类型 | 特点 |
|---|---|
| 基于规则的优化器 | 使用预设规则和分值确定最佳方法,为 SQL 操作分配固定成本 |
| 基于成本的优化器 | 使用基于对象统计信息的算法,考虑处理、I/O 和资源成本 |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



