• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > 讲解一个标准规则的集合──DB2优化器

讲解一个标准规则的集合──DB2优化器

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了讲解一个标准规则的集合──DB2优化器等相关知识,希望本文的分享对您有所帮助
</div>

和Oracle数据库一样,DB2数据库里面也是通过优化器来分析你的SQL,生成它认为最优的执行计划(Access Plan)。DB2的优化器实际上是一个标准规则集合,一般来说我们只要告诉DB2要检索什么,而不是如何检索。   那么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优化器正确的工作,在DB2里面提供了以下的办法。

 2 3 4  下一页</div> </div> </div> </div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11DB2常用傻瓜问题1000问(一)第1/2页
  • 2017-06-28快速掌握查看数据库表死锁的实用方法
  • 2017-06-28IBM DS4300磁盘损坏事故的数据恢复解决思路
  • 2017-06-28在 Linux 上使用 Google Maps API、DB2/Informix 和 PHP 创建地图
  • 2017-06-28灵活有效的数据仓库解决方案:第1部分:客户互动和项目计划
  • 2017-06-28使用DB2look实用程序重新创建优化器访问计划(5)
  • 2017-06-28DB2数据库系统信息集成解析
  • 2017-06-28与 DB2 Express C第一次亲密接触
  • 2017-05-11DB2获取当前用户表、字段、索引等详细信息
  • 2017-06-28DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第5部分

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • DB2优化(简易版)
    • 如何在DB2中提高IMPORT性能
    • IBM DB2通用数据库和信息管理
    • 利用表空间的备份快速恢复IBM DB2数据库
    • 使用SQL Server连接服务器访问DB2 Server
    • DB2编程序技巧 (四)
    • DB2下数据转移任务操作实例
    • 通用DB2升级方法
    • 灵活有效的数据仓库解决方案,第3部分:设计并实现仓库ETL过程
    • IBM DB2前世今生之DB2与IOD

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有