位置: 编程技术 - 正文

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 说明

  • 一正一负发票是什么意思
  • 未达起征点的增值税怎么算
  • 递延所得税资产和负债怎么计算
  • 环保科技属于什么行业类别
  • 增值税发票丢了怎么办?
  • 企业经营活动所需的资金的来源渠道有
  • 外购商品对外捐赠分录
  • 员工借款会计分录
  • 总分包外地施工怎样预缴税款?
  • 跨年收入没有进项发票怎么做帐?
  • 发放年终奖计提需要调减利润吗
  • 去年的定额的发票可以报销吗?
  • 物业代收自来水水费
  • 技术开发加计扣除
  • 工伤后辞职了还可以报工伤
  • 企业向国有银行贷款的利率
  • 收到押金入什么会计科目
  • 工业投资额是指什么
  • 上月留抵进项抵扣分录
  • 福利费计提包括奖金吗
  • win7电脑怎么开
  • 临时工工资的会计处理和税务处理
  • 支付宝提现到企业账户 怎么开票
  • 其它业务收入是什么科目
  • PHP:curl_multi_close()的用法_cURL函数
  • 年应税销售额包含哪些
  • 恶搞代码vbs教程
  • php trim()
  • 收到投标保证金利息如何账务处理
  • 会计计量属性的是
  • 转账支票购买办公用品会计
  • phppoem
  • 苏门答腊岛海岸线多少
  • 累计盈余科目怎么填
  • 公司挂靠社保的人员需要申报个人所得税吗?
  • php抓取网页图片
  • php图形图像处理技术
  • thinkphp配置文件
  • bootstrapicon
  • win11任务管理器卡死没响应
  • 目标检测论文解析怎么写
  • 怎么冲暂估入账
  • 苹果cmsv10官网
  • 金税盘抵免增值税怎么做账
  • 小规模纳税人采购需要发票吗
  • 印花税计算公式
  • 代开专票的个税减免吗?
  • 企业收到运输发票
  • 企业享受政府补贴的具体方式
  • percona-toolkit之pt-kill 杀掉mysql查询或连接的方法
  • 上年亏损次年赢亏怎么算
  • 换下来的旧电池还有用吗
  • 公司给员工发福利图片
  • 如果不签合同会怎么样
  • 网络平台服务商
  • 施工总包能分包土方吗
  • 冲销预付账款后怎么做账
  • 企业职工福利费可用于职工的医疗卫生费用
  • 史上最快的速度
  • 电脑重装windows
  • win xp怎么样
  • centos7tar解压
  • debian怎么配置ip
  • win10提醒功能
  • unity移动端教程
  • jquery技巧
  • nodejs命令行参数解析
  • Linux中获取某个进程的系统调用以及参数(故障排查案例)
  • unity点击播放声音
  • unity as
  • js获取节点值
  • javascript教程
  • 国家税务总局宁夏回族自治区税务局
  • 换电脑了税控盘怎么办
  • 自来水征税
  • 中华人民共和国刑法
  • 国家税务总局关于涉税中介
  • 淄博市地方税务局
  • 政务公开事项目录编制
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设