技术编程openGauss魔改PG?它能兼容Oracle的数据库表吗?( 二 )
1、事务级临时表
此类型的临时表中的数据仅在事务过程中有效 , 当事务提交后 , 临时表中的数据将被自动清除 , 但是临时表的结构以及元数据还存储在用户的数据字典中 。 在事务结束后 , 最好显式删除临时表 , 否则数据库会残留临时表的表结构和元数据 。 在语句中定义表的字段结构方式创建
postgres=# CREATE GLOBAL TEMPORARY TABLE T_TRANS_TMP
ID NUMBER,
NAME VARCHAR2(32)
) ON COMMIT DELETE ROWS;
CREATE TABLE通过select语句的查询结果创建表
postgres=# CREATE GLOBAL TEMPORARY TABLE T_TRANS_TMP ON COMMIT DELETE ROWS
AS
SELECT * FROM TMP_TEST;
INSERT 0 0
2、会话级临时表
会话级临时表中的数据可以跨事务而存在 , 不过当该会话结束时 , 临时表中的数据将随着会话的结束而被丢弃 。 与事务级临时表相同 , 在会话结束后 , 会话级临时表的结构以及元数据还存储在用户的数据字典中 , 需显式手动清除 。 在语句中定义表的字段结构方式创建
postgres=# CREATE TEMPORARY TABLE T_CONN_TMP
ID NUMBER,
NAME VARCHAR2(32)
) ON COMMIT PRESERVE ROWS;
CREATE TABLE通过select语句的查询结果创建表
postgres=# CREATE TEMPORARY TABLE T_CONN_TMP ON COMMIT PRESERVE ROWS
AS
SELECT * FROM TMP_TEST;
INSERT 0 0三、表压缩
表压缩是对表数据进行压缩 , 达到节省空间的目的 , 压缩对于数据装载和DML操作有一定的CPU消耗 。 然而 , 这些消耗可以为I/O的减少而抵消 。 Oracle常用的压缩方式有两种:基础压缩以及OLTP压缩 。
1、基础压缩
基础压缩只在direct path load的时候才会生效 , 对于普通的dml语句insert、update不会发生压缩 , openGauss可以支持基础压缩 。
postgres=# create table t_compress (id number) compress;
CREATE TABLE
2、OLTP压缩
OLTP压缩会对所有的DML生效 , 所以适用于OLTP系统 。 只有当新的block中的数据存放到达了阈值的时候才会引发块内的压缩操作 , 然后更多的数据加入到块中 , 再一次达到阈值 , 整个block会重新压缩 , 以达到最大程度的压缩级别 。
这个过程会一直重复 , 直到Oracle数据库确定无法再从压缩上获得更高的效益 。 所以多数OLTP事务作用在压缩的块上面 , 会和未压缩的表上拥有相同的性能 。 只有部分操作会引发块内的压缩动作 。 OLTP压缩功能openGauss目前无法支持 。
postgres=# create table t_oltp_compress (id number) compress for oltp;
ERROR: syntax error at or near "for"
LINE 1: create table t_oltp_compress (id number) compress for oltp;四、索引组织表
索引组织表是以索引的方式保存表的数据 , 数据根据主键的顺序进行排列的 , 这样就提高了访问的速度 。 缺点是由于索引块保存所有的字段的信息 , 就需要更多的叶子页面来保存数据 , 数据量较大的时候会造成访问效率降低 。
此外 , 如果主键频繁修改 , 对应的行也就需要磁盘位置频繁修改 , 行需要在不同的块之间相互移动 。 通常在以下情况 , 会考虑使用索引组织表:表的宽度(即一行的数据长度)有限;表的主键不会或极少更改;表主要用于查询 , DML操作较少;大部分的业务需求是根据主键查询行中其它列上的信息 。
openGauss目前版本不支持索引组织表 , 对于应用程序来说 , 索引组织表的使用方式与堆表并无差异 。
postgres=# CREATE TABLE T_ORG_INDEX
(
ID NUMBER,
NAME VARCHAR2(32),
PRIMARY KEY(ID)
)organization index;
ERROR: syntax error at or near "organization index"
- 麦田军事观察|印度抨击法国公司拒绝转让核心技术啥意义?不知花钱买不来现代化
- 沈潮汐|扬言基建技术超越中国,2天后愣住了,印度3天时间搭好一座桥
- 量子科技,爆发!有项关键技术中国已领先世界
- 歼-20|又一国看上国产战机,关键部位采用歼-20技术,一口气要采购40架
- 追梦格林|追梦格林谈球场心态:心态就是一项技术,我给不了杜兰特我的心态
- 人民论坛网|大国小鲜@基层之治 | 智能技术为基层治理赋能的现实路径
- 上海|ABB集团董事长傅赛:技术是增强城市和经济韧性的关键
- 技术|ABB集团董事长傅赛:技术是增强城市和经济韧性的关键
- 第一财经仅隔2个月,小米发布80W无线快充技术,近千亿市场待释放丨时间线
- 东方网|产学研合作拓展至新领域,鲜味产业技术创新战略联盟成立