热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

提高商业智能环境中 DB2 查询性能

来源: 作者: 时间:2007-09-09 Tag: 点击:

  本文主要讨论可以使决策支持系统(DSS)中的大型查询高效地执行的一些方法。这些查询通常都是访问较多数据的单纯 select 查询。下面是我们要讨论的一些方法:

  •   建立适当的参照完整性约束
  •   使用物化查询表(MQT)将表复制到其它数据库分区,以允许非分区键列上的合并连接
  •   使用多维集群(MDC)
  •   使用表分区(DB2® 9 的新功能)
  •   结合使用表分区和多维集群
  •   使用 MQT 预先计算聚合结果

  本文中的例子针对 Windows 平台上运行的 DB2 9。但是,其中的概念和信息对于任何平台都是有用的。由于大多数商业智能(BI)环境都使用 DB2 Database Partitioning Feature(DPF,DB2 数据库分区特性),我们的例子也使用 DPF 将数据划分到多个物理和逻辑分区之中。

  数据库布局和设置

  本节描述用于在我们的系统上执行测试的数据库的物理和逻辑布局。

  星型模式布局

  本文使用如下所示的星型模式:

  清单 1. 星型模式

                      PRODUCT_DIM             DATE_DIM
                                            \            /
                                             \          /
                                              SALES_FACT
                                                  |
                                                  |
                                          STORE_DIM

  其中的表的定义如下:

表名 类型 列名 数据类型 列描述
SALES_FACT FACT TABLE DATE_ID DATE 产品售出日期
PRODUCT_ID INT 所购买产品的标识符
STORE_ID INT 出售产品的商店的标识符
QUANTITY INT 这次交易中售出产品的数量
PRICE INT 产品购买价格。[为了简单起见,该字段为整型,但是使用小数型更符合实际]
TRANSACTION_DETAILS CHAR(100) 关于此次交易的描述/详细信息
DATE_DIM DIMENSION TABLE DATE_ID NOT NULL DATE 惟一标识符
MONTH INT 日期记录所属的月份
QUARTER INT 日期记录所属的季度(第 1、第 2、第 3 或第 4 季度)
YEAR INT 日期记录所属的年份
PRODUCT_DIM DIMENSION TABLE PRODUCT_ID NOT NULL INT 产品惟一标识符
PRODUCT_DESC CHAR(20) 对产品的描述
MODEL CHAR(200) 产品型号
MAKE CHAR(50) 产品的质地
STORE_DIM DIMENSION TABLE STORE_ID NOT NULL INT 商店惟一标识符
LOCATION CHAR(15) 商店位置
DISTRICT CHAR(15) 商店所属街区
REGION CHAR(15) 商店所属区域

  事实表 SALES_FACT 包含 2006 年的总体销售信息。它包括产品售出日期、产品 ID、销售该产品的商店的 ID、售出的特定产品的数量,以及产品的价格。事实表中还添加了 TRANSACTION_DETAILS 列,以便在从事实表中访问数据时生成更多的 I/O。

  •   维度表 DATE_DIM 包含商店开放期间的惟一的日期和相应的月份、季度和年份信息。
  •   维度表 PRODUCT_DIM 包含公司所销售的不同产品。每种产品有一个惟一的产品 ID 和一个产品描述、型号以及质地。
  •   维度表 STORE_DIM 包含不同的商店 ID 和商店的位置、所属街区以及所属区域等信息。


相关文章:
db2日期操作函数
SQL 语法参考手册
谈谈IBM DB2的数据库备份与恢复
对 DB2 V9 中 XML 类型的编码处理(dW)
构建DB2 Cube View元数据桥
DB2存储过程开发最佳实践
DB2中使用所有内存
DB2与SQL Server2000间SQL数据复制
用户和组帐户与DB2 UDB的交互
DB2 9数据库优点及缺点详细分析
DB2中实现Oracle的相关功能
将Siebel 7电子商务应用程序从DB2 UDB V8 迁移到D
解析:DB2 无限活动日志策略的实用技巧
DB2 9数据服务器发展的3个阶段
为DB2数据库添加验证约束
DB2数据库创建存储过程时遇到的错误
DB2 9数据库性能理解的二十大误区
DB2中的终极SQL性能调节技术
DB2数据库应用系统性能优化深入探究
提高DB2 Web程序性能5条规则
详解安装DB2 9数据库管理软件的4种方式
DB2 9.5的数据库内存保护技术
解决DB2中出现的SQL1032N错误现象
创建克隆文件
DB2数据库优化的几条策略
如何解决DB2中出现的SQL1032N错误现象
解决DB2数据库代码页不兼容的问题
DB2创建存储过程时遇到的错误
教你提高商业智能环境中的DB2查询性能
DB2 9.5的数据库内存保护