高斯数据库分区表相关操作
高斯表按是否分区可分为:分区表和普通表
分区表相比普通表具有以下优点:
1.改善查询性能:查询单一分区效率较高
2.增强可用性:单一分区数据有问题不影响其他分区
3.方便维护:单一分区故障,只需修复该分区即可
4.均衡I/O:不同分区映射不同磁盘,平衡io
以下建两张表:一张普通表,一张分区表, 并写入一百万数据,对比查询效率
--建普通表
CREATE TABLE partition_test1 (
id character varying,
name character varying,
sex character varying
)
WITH (orientation=row, compression=no)
DISTRIBUTE BY HASH(id)
TO GROUP group_version1;
--建分区表
CREATE TABLE partition_test2 (
id character varying,
name character varying,
sex character varying
)
WITH (orientation=row, compression=no)
DISTRIBUTE BY HASH(id)
TO GROUP group_version1
PARTITION BY RANGE (id)
(
PARTITION p1 VALUES LESS THAN (3000000) TABLESPACE pg_default,
PARTITION p2 VALUES LESS THAN (6000000) TABLESPACE pg_default,
PARTITION p3 VALUES LESS THAN (MAXVALUE) TABLESPACE pg_default
);
--往2张表分别写入100万条数据
insert into partition_test1
select id,name,sex from partition_test_detal ;
insert into partition_test2
select id,name,sex from partition_test_detal ;
--查询分区表各分区数据,理论上查询的数据如果都在单个分区,那么查询只需要访问该分区,会提升查询效率
SELECT count(*) FROM partition_test2 PARTITION (p1);
222236
SELECT count(*) FROM partition_test2 PARTITION (p2);
333333
SELECT count(*) FROM partition_test2 PARTITION (p3);
444439