分区表的优化策略

数据分区消除是数据库优化策略之一,通过根据查询条件仅访问必要的数据分区提高查询性能。本文介绍了DB2中如何利用数据分区消除实现性能提升,包括索引扫描、连接谓词的使用以及在运行时的数据分区限定,展示了数据分区在多列表分区键和生成列上的应用。
摘要由CSDN通过智能技术生成

数据分区消除指的是数据库服务器根据查询谓词确定只需要访问表的一部分数据分区就可以实现查询的能力。当对分区表运行决策支持查询时,数据分区消除可以提供特定好处。

分区表使用了数据组织方案,即,表数据根据该表中一个或多个表分区键列中的值分布到多个存储对象(称为数据分区或范围)中。根据 CREATE TABLE 语句的 PARTITION BY 子句中指定的内容,给定表的数据被划分到多个存储对象中。这些存储对象可以在不同的表空间中,也可以在相同表空间中。

以下示例演示了数据分区消除所产生的性能方面的好处。如果发出以下语句:

CREATE TABLE custlist(subsdate DATE, Province CHAR(2), AccountID INT)
PARTITION BY RANGE(subsdate)
(STARTING FROM '1/1/1990' IN ts1,
STARTING FROM '1/1/1991' IN ts1,
STARTING FROM '1/1/1992' IN ts1,
STARTING FROM '1/1/1993' IN ts2,
STARTING FROM '1/1/1994' IN ts2,
STARTING FROM '1/1/1995' IN ts2,
STARTING FROM '1/1/1996' IN ts3,
STARTING FROM '1/1/1997' IN ts3,
STARTING FROM '1/1/1998' IN ts3,
STARTING FROM '1/1/1999' IN ts4,
STARTING FROM '1/1/2000' IN ts4,
STARTING FROM '1/1/2001' ENDING '12/31/2001' IN ts4);

假定您对 2000 年的客户信息感兴趣。如果发出以下查询:

SELECT * FROM custlist WHERE subsdate BETWEEN '1/1/2000' AND '12/31/2000'; 

正如图 101所显示的那样,数据库服务器确定只需要访问表空间 4(ts4)中的一个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值