DB2优化器对SQL的最优存取路的判断的条件是什么?

数据库
以下的文章主要是介绍DB2优化器是根据哪些条件来对对SQL的最优存取路径进行判断的,以下就是文章的主要内容的详细解析。

以下的文章主要向大家讲述的是DB2优化器是根据哪些条件来对对SQL的***存取路径进行判断的呢?我们大家都知道DB2的优化器主要是基于成本的优化器,也就是CBO(Cost Based Optmizer)。也就是说DB2 优化器会应用查询成本公式。

该公式对每条可能的存取路径的四个因素进行评估和权衡:CPU 成本、I/O 成本、DB2 系统目录中的统计信息和实际的 SQL 语句。

那么我们来简单看一下DB2的优化器的工作流程:

1.DB2的优化器,在接收到SQL语句后,会首先校验SQL的语法,确保是正确的SQL

2.根据当前的系统环境信息,生成***的执行计划来优化SQL语句

3.把SQL翻译成计算机指令语言,并执行这个优化后的SQL

4.返回结果,或者存储它们,以便将来的执行

在我们看来,DB2 系统目录中统计信息是让DB2优化器正确工作的一个非常重要的依据。这些统计信息向优化器提供了与正在被优化的 SQL 语句将要访问的表状态相关的信息。这些信息主要包括:

Table--包括表的记录数、PAGE、PCTFREE以及COMPRESS等信息,相关的系统视图是:sysstat.tables、syscat.tables

Columns—包括COLUMNS的数量、长度、分布特征以及COMPRESS等信息,相关的系统视图是:sysstat.columns、syscat. columns

Index--包括是否存在索引、索引的组织(叶子页的数量和级别的数量)、索引键的离散值的数量以及是否群集索引, 相关的系统视图是:sysstat.indexes、syscat. indexes

DB2优化器是根据什么来判断SQL的***存取路径

上述的相关内容就是对DB2优化器是根据什么来判断SQL的***存取路径呢的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. DB2 Resotre的使用技巧的描述
  2. DB2数据库如何正确取得当前时间
  3. UNIX机器上同时对多个DB2系统进行设置
  4. 正确实现DB2数据移动的步骤有哪些?
  5. DB2 9.5高可用性的实际解决方案

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-11-04 15:39:40

DB2 SQL语句

2010-08-13 13:12:19

DB2数据库

2010-08-04 10:10:47

2010-04-09 12:20:11

Oracle SQL

2010-09-06 10:54:52

DB2 sql 存储过

2010-09-06 15:13:05

DB2

2010-09-30 16:00:40

DB2动态SQL

2010-08-06 17:52:17

DB2未使用索引

2010-11-04 15:34:20

DB2索引优化

2010-08-31 15:08:14

DB2INSERT优化

2011-01-20 10:15:22

ibmdwDB2

2010-08-06 14:52:13

DB2 9.7武器

2010-11-02 11:43:11

DB2动态SQL

2010-08-06 13:20:00

DB2锁等待

2010-08-02 14:03:49

DB2驱动类型

2010-07-27 15:02:30

DB2驱动类型

2011-05-27 14:28:33

DB2

2011-05-27 15:24:28

DB2

2011-05-27 16:00:10

DB2

2011-05-16 14:34:18

DB2安装
点赞
收藏

51CTO技术栈公众号