实在是很强大的功能

可以通过Check的制约把结构相同的表合并起来,或者反过来说,可以在一个表名下数据库自动的根据Check条件往对应的分表里存储数据

[USER_DATA表]

CREATE TABLE test."USER_DATA"
(
"MAC" character varying(12) NOT NULL,
"ID" character(3) NOT NULL,
"YEARS" numeric(6,0) NOT NULL,
"DAY" numeric(2,0) NOT NULL,
"HOUR" numeric(2,0) NOT NULL,
CONSTRAINT "USER_DATA_pkey" PRIMARY KEY ("MAC", "ID", "YEARS", "DAY", "HOUR")
)

[USER_DATA]的分表1[USER_DATA_201310]

CREATE TABLE test."USER_DATA_201310"
(
-- Inherit from table test."USER_DATA": "MAC" character varying(12) NOT NULL,
-- Inherit from table test."USER_DATA": "ID" character(3) NOT NULL,
-- Inherit from table test."USER_DATA": "YEARS" numeric(6,0) NOT NULL,
-- Inherit from table test."USER_DATA": "DAY" numeric(2,0) NOT NULL,
-- Inherit from table test."USER_DATA": "HOUR" numeric(2,0) NOT NULL,
CONSTRAINT "USER_DATA_201210_pkey" PRIMARY KEY ("MAC", "ID", "YEARS", "DAY", "HOUR"),
CONSTRAINT "USER_DATA_YEARS_check" CHECK ("YEARS" = 201310::numeric)
)
INHERITS (test."USER_DATA")

[USER_DATA]的分表2[USER_DATA_201311]

CREATE TABLE test."USER_DATA_201311"
(
-- Inherit from table test."USER_DATA": "MAC" character varying(12) NOT NULL,
-- Inherit from table test."USER_DATA": "ID" character(3) NOT NULL,
-- Inherit from table test."USER_DATA": "YEARS" numeric(6,0) NOT NULL,
-- Inherit from table test."USER_DATA": "DAY" numeric(2,0) NOT NULL,
-- Inherit from table test."USER_DATA": "HOUR" numeric(2,0) NOT NULL,
CONSTRAINT "USER_DATA_201210_pkey" PRIMARY KEY ("MAC", "ID", "YEARS", "DAY", "HOUR"),
CONSTRAINT "USER_DATA_YEARS_check" CHECK ("YEARS" = 201311::numeric)
)
INHERITS (test."USER_DATA")

通过CHECK ("YEARS" = 2013xx::numeric)来把往表[USER_DATA]上存储的数据自动的存储到分表1[USER_DATA_201310]或者分表2[USER_DATA_201311]上

这样做不仅可以降低单表的数据量,而且可以方便的拆分,组合,更方便的是,取数据的时候只用去访问[USER_DATA]表,就可以查询所有分表里的数据

组合

ALTER TABLE test."USER_DATA_201312" INHERIT test."USER_DATA"

拆分

ALTER TABLE test."USER_DATA_201310" NO INHERIT test."USER_DATA"

[Postgres]关于Postgres的INHERIT,分表的更多相关文章

  1. pgbouncer+pg(fdw)+pg(datanode)分表方案

    pgbouncer+pg(fdw)+pg(datanode)分表方案 (环境RHEL6.5,PG9.4.5,pgbouncer1.5.4,libevent2.0.22) 方案架构图如下: pgboun ...

  2. ShardingSphere-proxy-5.0.0企业级分库分表、读写分离、负载均衡、雪花算法、取模算法整合(八)

    一.简要说明 以下配置实现了: 1.分库分表 2.每一个分库的读写分离 3.读库负载均衡算法 4.雪花算法,生成唯一id 5.字段取模 二.配置项 # # Licensed to the Apache ...

  3. Postgresql分表与优化

    --1.创建主表 CREATE TABLE tbl_partition ( date_key date, hour_key smallint, client_key integer, item_key ...

  4. PostgreSQL-优化之分表

    分表概述 数据库分表,就是把一张表分成多张表,物理上虽然分开了,逻辑上彼此仍有联系. 分表有两种方式:水平分表,即按列分开:垂直分表,即按行分开 优势 1. 查询速度大幅提升 2. 删除数据速度更快 ...

  5. postgresql 创建分表

    划分指的是将逻辑上的一个大表分成一些小的物理上的片.划分有很多益处: 1.在某些情况下查询性能能够显著提升,特别是当那些访问压力大的行在一个分区或者少数几个分区时.划分可以取代索引的主导列.减小索引尺 ...

  6. CRL快速开发框架系列教程十一(大数据分库分表解决方案)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. WebGIS项目中利用mysql控制点库进行千万条数据坐标转换时的分表分区优化方案

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目中有1000万条历史案卷,为某地方坐标系数据,我们的真实 ...

  8. 分享一个MySQL分库分表备份脚本(原)

    分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...

  9. 重磅来袭,使用CRL实现大数据分库分表方案

    关于分库分表方案详细介绍 http://blog.csdn.net/bluishglc/article/details/7696085 这里就不作详细描述了 分库分表方案基本脱离不了这个结构,受制于实 ...

随机推荐

  1. Windbg在.net性能问题排查hang情况的应用思路

    1.使用~*kb 2000 查看本地锁的callstack情况,有sleep的线程关注是否占用锁,有wait等待的线程可能是正在等待锁资源. 2.使用~*e!clrstack 查看.net的calls ...

  2. IIS7.5 URL文件名有加号或空格显示404错误的解决办法

    转:http://www.gyd.cc/zhuanti/tech/9319.html 将服务器由windows2003升级到windows2008后,某个网站的图片突然不能显示,显示404错误, 后来 ...

  3. IOS Background 之 Background Fetch

    http://www.ithao123.cn/content-1363653.html 定期更新数据的app,比如及时通信类,微博等app. 定期后台获取,等打开后获取的快一些. 30分钟后打开手,获 ...

  4. Hash表从了解到深入(浅谈)

    · Hasn表,将一个数据进行Value化,再进行一个映射关系到Key直接进行访问的一个数据结构,这样可以通过直接的计算进行数据的访问和插入.关于Hash表的基本概念这里就不一一叙述,可以通过百度了解 ...

  5. axis2 webService开发指南(1)

    参考文件:blog.csdn.net/IBM_hoojo http://hoojo.cnblogs.com/ 1 WebService简介 WebService让一个程序可以透明的调用互联网的程序,不 ...

  6. Makefile 自动搜索 c 和 cpp 文件, 并生成 .a 静态库文件

    最近 又弄linux 下的 .a 静态库编译, 于是想 做个 一劳永逸的Makefile, 经过一番折腾, 最后成功了 只需要 改两个 参数 就可以执行了(MYLIB 和 VPATH), 代码 如下: ...

  7. 【sdut2878】Circle

    题目链接http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/2878.html 题意 n个结点编号为0 ...

  8. js使用浏览器的另存为下载文件

    页面上的页面如下: 我需要根据返回的url下载文件: js: //判断浏览器类型 function myBrowser(){ var userAgent = navigator.userAgent; ...

  9. Chrome谷歌浏览器屏蔽百度搜索右侧广告推荐方法

    先上图百度广告,其实屏蔽广告很简单 主要分成以下三步: 下载Adblock Plus插件 安装Adblock Plus插件 开启屏蔽 一.下载Adblock Plus插件(官网离线版) 二.安装Adb ...

  10. Python open()文件处理使用介绍

    1. open()语法open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]])open函数有很多 ...