WEB开发网
开发学院数据库DB2 在DB2优化器中使用分布统计信息 阅读

在DB2优化器中使用分布统计信息

 2009-12-23 15:00:17 来源:WEB开发网   
核心提示:DB2优化器对分布统计信息的使用 —— 示例我们来看一个完整的示例,在此例中,在DB2优化器中使用分布统计信息(3),DB2 优化器可以使用分布统计信息来更合理地估计过滤因子,以便生成更好的访问计划,在没有分布统计信息,而只有 CARS 表的基本统计信息及其索引的情况下,这个示例查询从已经定义好

DB2优化器对分布统计信息的使用 —— 示例

我们来看一个完整的示例,在此例中,DB2 优化器可以使用分布统计信息来更合理地估计过滤因子,以便生成更好的访问计划。

这个示例查询从已经定义好的 CARS 表中读取数据。对于表 CARS 中的汽车数据,有以下假设:

该表的基数为 1,000,000,也就是说该表包含 1,000,000 行。

表中 99.9% 的汽车是已经完工(“STATE” 列 = 100)的,这些汽车的信息相关必须保留,以用于后续处理(投述管理、质量保证等)。剩下的 1,000 辆汽车目前还处在制造流程中。

在该表中,制造商提供的从 A 到 J 的 10 种不同汽车型号(“TYPE” 列)几乎以相同的频率出现。

注意: 脚本 create_table_cars.sql 用于创建前述 CARS 表,包括 “STATE” 列和 “TYPE” 列上的索引,该脚本可以通过本文 下载。这个示例表是在 DB2 SAMPLE 数据库中(命令 db2sampl),使用 DBM CFG 和 DB CFG 的默认设置创建的。

示例查询选择型号为 A 且正处在制造流程中、尚未完工的所有汽车:

SELECT * FROM CARS WHERE STATE < 100 AND TYPE = 'A'

首先来分析一下,在没有分布统计信息,而只有 CARS 表的基本统计信息及其索引的情况下,优化器选择的访问计划是怎样的。

图 1. 没有分布统计信息时示例查询的访问计划

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 优化 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接