位置: 编程技术 - 正文

PostgreSQL 创建表分区

编辑:rootadmin
创建表分区步骤如下: 1. 创建主表 CREATE TABLE users ( uid int not null primary key, name varchar()); 2. 创建分区表(必须继承上面的主表) CREATE TABLE users_0 ( check (uid >= 0 and uid< ) ) INHERITS (users); CREATE TABLE users_1 ( check (uid >= )) INHERITS (users); 3. 在分区表上建立索引,其实这步可以省略的哦 CREATE INDEX users_0_uidindex on users_0(uid); CREATE INDEX users_1_uidindex on users_1(uid); 4. 创建规则RULE CREATE RULE users_insert_0 AS ON INSERT TO users WHERE (uid >= 0 and uid < ) DO INSTEAD INSERT INTO users_0 VALUES (NEW.uid,NEW.name); CREATE RULE users_insert_1 AS ON INSERT TO users WHERE (uid >= ) DO INSTEAD INSERT INTO users_1 VALUES (NEW.uid,NEW.name); 下面就可以测试写入数据啦: postgres=# INSERT INTO users VALUES (,'smallfish'); INSERT 0 0 postgres=# INSERT INTO users VALUES (,'aaaaa'); INSERT 0 0 postgres=# select * from users; uid | name -----+----------- | aaaaa | smallfish (2 笔资料列) postgres=# select * from users_0; uid | name -----+------- | aaaaa (1 笔资料列) postgres=# select * from users_1; uid | name -----+----------- | smallfish (1 笔资料列) 到这里表分区已经可以算完了,不过还有个地方需要修改下,先看count查询把。 postgres=# EXPLAIN SELECT count(*) FROM users where uid<; QUERY PLAN --------------------------------------------------------------------------------------------- Aggregate (cost=.... rows=1 width=0) -> Append (cost=6.... rows= width=0) -> Bitmap Heap Scan on users (cost=6.... rows= width=0) Recheck Cond: (uid < ) -> Bitmap Index Scan on users_pkey (cost=0...6. rows= width=0) Index Cond: (uid < ) -> Bitmap Heap Scan on users_0 users (cost=6.... rows= width=0) Recheck Cond: (uid < ) -> Bitmap Index Scan on users_0_uidindex (cost=0...6. rows= width=0) Index Cond: (uid < ) -> Bitmap Heap Scan on users_1 users (cost=6.... rows= width=0) Recheck Cond: (uid < ) -> Bitmap Index Scan on users_1_uidindex (cost=0...6. rows= width=0) Index Cond: (uid < ) ( 笔资料列) 按照本来想法,uid小于,理论上应该只是查询users_0表,通过EXPLAIN可以看到其他他扫描了所有分区的表。 postgres=# SET constraint_exclusion = on; SET postgres=# EXPLAIN SELECT count(*) FROM users where uid<; QUERY PLAN --------------------------------------------------------------------------------------------- Aggregate (cost=.... rows=1 width=0) -> Append (cost=6.... rows= width=0) -> Bitmap Heap Scan on users (cost=6.... rows= width=0) Recheck Cond: (uid < ) -> Bitmap Index Scan on users_pkey (cost=0...6. rows= width=0) Index Cond: (uid < ) -> Bitmap Heap Scan on users_0 users (cost=6.... rows= width=0) Recheck Cond: (uid < ) -> Bitmap Index Scan on users_0_uidindex (cost=0...6. rows= width=0) Index Cond: (uid < ) ( 笔资料列) 到这里整个过程都OK啦!

推荐整理分享PostgreSQL 创建表分区,希望有所帮助,仅作参考,欢迎阅读内容。

PostgreSQL 创建表分区

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

PostgreSQL中的OID和XID 说明 oid:行的对象标识符(对象ID)。这个字段只有在创建表的时候使用了WITHOIDS,或者是设置了default_with_oids配置参数时出现。这个字段的类型是oid(和字

PostgreSQL 角色与用户管理介绍 一、角色与用户的区别角色就相当于岗位:角色可以是经理,助理。用户就是具体的人:比如陈XX经理,朱XX助理,王XX助理。在PostgreSQL里没有区分用户

PostgreSQL 查看数据库,索引,表,表空间大小的示例代码 一、简介PostgreSQL提供了多个系统管理函数来查看表,索引,表空间及数据库的大小,下面详细介绍一下。二、数据库对象尺寸函数函数名返回类型描述p

标签: PostgreSQL 创建表分区

本文链接地址:https://www.jiuchutong.com/biancheng/319651.html 转载请保留说明!

上一篇:PostgreSQL中的XML操作函数代码

下一篇:PostgreSQL中的OID和XID 说明

  • 增值税年末结转的会计处理
  • 怎么下载税控盘开票软件
  • 小规模纳税人未达起征点增值税处理
  • 小规模纳税人所得税优惠政策2023
  • 增值税预缴申报和正常申报的区别
  • 成本票有哪些种类
  • 工业增加值怎么找
  • 保理公司发放贷款
  • 税金及附加怎么登账
  • 金蝶k3现金流量明细查询
  • 贷款利息不能抵扣进项税
  • 税控服务费抵扣的文件
  • 销售单用途商业预付卡是否可能涉嫌诈骗
  • 向董事赠送礼品怎么写
  • 二手房怎么避免一房多卖
  • 施工企业所得税税率是多少
  • 公司老板个人卡收款 出纳有责任吗
  • 长期合同收入与应收帐款如何处理?
  • 房产增值税征收期限
  • 印花税按主营业务成本计算吗
  • 企业的应收帐款增长率超过销售收入增长率是正常现象
  • 总公司汇总申报怎么弄
  • 小微企业税收优惠政策最新2023
  • 电信服务通信服务费计入什么科目
  • 专项储备通俗理解
  • cpu性能天梯图2023年3月
  • 如何在win10桌面上显示时钟
  • PHP:oci_lob_is_equal()的用法_Oracle函数
  • scheduler.exe - scheduler是什么进程 有何作用
  • 基于Python的flask百战电商流程图
  • php需要的软件
  • 代开的发票需要企业盖章还是税务机关盖章?
  • 海月水母有性别吗
  • 宝塔部署django
  • 深度学习实战(十):使用 PyTorch 进行 3D 医学图像分割
  • 微信小程序在哪里打开
  • php常用加密技术
  • 广告片影视公司
  • 金融资产或金融负债满足下列条件之一
  • python3 zipfile模块
  • 未开票收入缴纳增值税吗
  • 库存现金的会计分录
  • sql server 2016 sp2
  • 企业账务处理程序的概念
  • mysql备份数据
  • mysql命令行怎么用
  • 制造业企业无形资产怎么摊销
  • 在建工程包括哪些大类科目
  • 第三方代销什么意思
  • 汇兑损益方式为外币结清怎么操作
  • 建筑行业有哪些生意可以做
  • 预缴的所得税怎么申请退税
  • 代发工资的手续流程
  • 会计原始分录包括什么
  • 企业工资薪金支出怎么确认
  • 住宿费开的增值税专用发票怎么记账
  • 特别提款权和普通提款权的区别
  • 本票丢了别人可以取钱吗
  • 哪个是win8.1更新win10的补丁
  • 服务器centos6.8安装教程
  • xp系统怎么装机
  • win8 网络连接
  • linux常用性能监控命令
  • 如何查看win7系统
  • windows操作大全
  • win10正式版和专业版的区别
  • windows如何编辑内容
  • shell.epc
  • perl ne
  • shell脚本输入
  • 读取fasta文件
  • jquery上滑下滑
  • javascript学习指南
  • 音频基础知识及训练
  • 表单验证js
  • 天津武清房管局电话
  • 电子税务局怎么添加银行账户信息
  • 税控盘离线开票时间超限是怎么回事
  • 买二套房契税可退税吗
  • 小规模六税两费减免分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设