您的位置: 网界网 > 周报全文 > 正文

[周报全文]DB2优化器如何判断SQL最优存取路径?

2008年07月16日 16:21:29 | 作者:CNW.com.cn | 来源: | 查看本文手机版

摘要:和Oracle数据库一样,DB2数据库中也是通过优化器来分析你的SQL,生成它认为最优的执行计划。

标签
DB2
优化器
SQL

【CNW.com.cn 专稿】Oracle数据库一样,DB2数据库中也是通过优化器来分析你的SQL,生成它认为最优的执行计划。DB2的优化器实际上是一个标准规则集合。一般而言,我们只要告诉DB2要检索什么,而不是如何检索。

DB2优化器是根据什么来判断SQL的最优存取路径呢?DB2的优化器是基于成本的优化器。也就是说,DB2优化器会应用查询成本公式。该公式对每条可能的存取路径的四个因素进行评估和权衡。这些因素包括CPU 成本、I/O 成本、DB2系统目录中的统计信息,以及实际的SQL语句。

DB2系统目录中统计信息是让DB2优化器正确工作的一个重要依据。这些统计信息向优化器提供了与正在被优化的SQL语句将要访问的表状态相关的信息。这些信息主要包括TableColumnsIndex以及其他的分区/节点组信息和表空间的信息。

在实际的工作流程中,DB2优化器在接收到SQL语句后,首先会校验SQL的语法,确保其是正确的SQL,然后根据当前系统环境信息,生成最优的执行计划来优化SQL语句。接下来,它把SQL翻译成计算机指令语言并执行这个优化后的SQL。最后返回结果,或者存储它们,以便将来的执行。

更多内容详见http://www.cnw.com.cn/P/151

[责任编辑:程永来 cheng_yonglai@cnw.com.cn]