DB2 数据库分区表语法[通俗易懂]

DB2 数据库分区表语法[通俗易懂]CREATETABLE语句的PARTITIONBY子句指定了表数据的分区。该定义中使用的列被称为表分区键列。

大家好,又见面了,我是你们的朋友全栈君。

               前端时间,做某银行的项目,需要用到分区表,之前从来没有接触过,特此去了解了一下。现在完成项目后,做一个总结,也希望能给你们带来些许帮助。

            首先,分区表和普通表大致上区别不大,仅多了一个分区的字段,以及分区范围值。

            以下就是我写的一个分区表的案例:

   CREATE TABLE ESS_TABLE_LOG
   ( SERIALNUM VARCHAR(30) NOT NULL,–流水号
  USERID      VARCHAR(10) NOT NULL,–用户号
  USERTYPE          VARCHAR(1) NOT NULL,-用户号类型
  OPERATORNO          VARCHAR(24) NOT NULL,–操作号
  PHONENO       VARCHAR(26) NOT NULL,–手机号
  STATUS       VARCHAR(2),–状态
  SHIPDATE         DATE) –分区字段
  PARTITION BY RANGE(SHIPDATE)
(STARTING MINVALUE, STARTING ’11/1/2016′ ENDING ’12/31/2030′ EVERY 1 MONTH, ENDING MAXVALUE);

(1)分区表的关键字PARTITION BY RANGE,这个是固定的语法,后面跟着的是分区字段,以及分区的范围。

(2)这个分区表是按每月进行分区的,可根据 describe data partitions for table ESS_TABLE_LOG;查询具体的分区情况。

(3)查询匹配日期的分区数据

 select datapartitionnum(SHIPDATE) as PartitionId, SHIPDATE,SERIALNUM ,USERID,USERTYPE,PHONENO from ESS_TABLE_LOG  where SHIPDATE between ’11/21/2016′ and ’11/22/2016′ order by SHIPDATE;

该分区表未设置索引,如果当数据量多大的时候,做删除,性能会比较低,但是银行根据脚本,批量执行,所有就没加索引。有兴趣的朋友可以再去深入了解下db2其他的分区表写法及索引的添加。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134980.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号