1.创建分区表,并用generate_series(1,N)函数对表插入数据
SQL:
Create schema tpcds10;
CREATE TABLE tpcds10.customer_t1 ( ca_address_sk integer NOT NULL , ca_address_id character(16), ca_street_number character(10) , ca_street_name character varying(60) , ca_street_type character(15) , ca_suite_number character(10) , ca_city character varying(60) , ca_county character varying(30) , ca_state character(2) , ca_zip character(10) , ca_country character varying(20) , ca_gmt_offset numeric(5,2) , ca_location_type character(20) );
insert into tpcds10.customer_t1 values (1, 'AAAAAAAABAAAAAAA', '18', 'Jackson', 'Parkway', 'Suite 280', 'Fairfield', 'Maricopa County', 'AZ', '86192' ,'United States', -7.00, 'condo'), (2, 'AAAAAAAACAAAAAAA', '362', 'Washington 6th', 'RD', 'Suite 80', 'Fairview', 'Taos County', 'NM', '85709', 'United States', -7.00, 'condo'), (3, 'AAAAAAAADAAAAAAA', '585', 'Dogwood Washington', 'Circle', 'Suite Q', 'Pleasant Valley', 'York County', 'PA', '12477', 'United States', -5.00, 'single family');
–使用序列的generate_series(1,N)函数对表插入数据
insert into tpcds10.customer_t1 values(generate_series(10, 10000));
截图展示:

2.收集表统计信息
SQL:
select relname, relpages, reltuples from pg_class where relname = 'customer_t1';
analyze VERBOSE tpcds10.customer_t1;
select relname, relpages, reltuples from pg_class where relname = 'customer_t1';
截图展示:

3.显示简单查询的执行计划;建立索引并显示有索引条件的执行计划
SQL:
SET explain_perf_mode=normal;
EXPLAIN SELECT * FROM tpcds10.customer_t1;
EXPLAIN(FORMAT JSON) SELECT * FROM tpcds10.customer_t1;
EXPLAIN(COSTS FALSE)SELECT * FROM tpcds10.customer_t1;
EXPLAIN SELECT SUM(ca_address_sk) FROM tpcds10.customer_t1 WHERE ca_address_sk<100;
create index customer_address_idx on tpcds10.customer_t1(ca_address_sk); EXPLAIN SELECT * FROM tpcds10.customer_t1 WHERE ca_address_sk<100;
截图展示:


4.更新表数据,并做垃圾收集
SQL:
update tpcds10.customer_t1 set ca_address_sk = ca_address_sk + 1 where ca_address_sk <100;
VACUUM (VERBOSE, ANALYZE) tpcds10.customer_t1;
截图展示:

5.清理数据
SQL:
drop schema tpcds10 cascade;
截图展示:





