查询DB2上的分区范围

时间:2014-11-26 11:24:37

标签: sql db2 database-partitioning db2-luw

我想找到带有查询的DB2范围分区的起点和终点。是否可以从任何系统表中查询这些值?


我的问题的更多背景:
我们修改了一些巨大的表格,以便它们在日常部分中进行分区:

CREATE TABLE orders(id INT, CRDTTM TIMESTAMP, …)
PARTITION BY RANGE(CRDTTM)
(
    (STARTING ('2014-10-01') ENDING ('2015-15-31') EVERY 1 DAY)
)  

之后可以用普通的SQL查询起点和终点吗?我需要修改我们使用的存储过程,以便过滤具有此范围之外的时间戳的行(这些表位于数据仓库中,只能在短时间内加载数据)。

至于环境:
我们在SUSE Enterprise 11服务器上运行DB2 LUW V10.5。有问题的表是基于行的。

2 个答案:

答案 0 :(得分:1)

此信息位于系统目录中。挑战只是找到何处和如何。分区表达式本身名称为syscat.datapartitionexpression

重新创建特定分区信息需要将多个视图连接在一起。示例查询here可能有所帮助。

您应该会发现documentation有帮助。

答案 1 :(得分:0)

查看表SYSCAT.DATAPARTITIONS,特别是LOWVALUEHIGHVALUE以及LOWINCLUSIVEHIGHINCLUSIVE列。