今天(2021年12月31日),我在12.26号无意间在朋友圈看到了Gauss松鼠会发的海报,于是看这个教程。进行了学习及考试,由于这几天太忙,现在把做的作业文章补上,12.26号下午和晚上都在做这个作业,大概22:00终于完成了实验的每日章节练习,并完成了考试,推荐给了一个朋友一起学习,一起测试,在共同努力下,考取了100分的好成绩,总体感觉这个课程还是很不错的,初步渐入的学习openGauss数据库,并且在12.30号还有活动直播:openGauss与PostgreSQL核心技术解读及优势对比"
章节练习一共21天,下面是第9天的作业内容。

9、学习openGauss普通表索引
1.创建表products, 分别为表创建一个unique索引1,指定b-tree索引2和表达式索引3
create schema tpcds;
CREATE TABLE tpcds.products
(
SM_SHIP_MODE_SK INTEGER NOT NULL,
SM_SHIP_MODE_ID CHAR(16) NOT NULL,
SM_TYPE CHAR(30),
SM_CODE CHAR(10),
SM_CARRIER CHAR(20),
SM_CONTRACT CHAR(20)
);
CREATE UNIQUE INDEX index1 ON tpcds.products(SM_SHIP_MODE_SK);
CREATE INDEX index2 ON tpcds.products USING btree(SM_SHIP_MODE_SK);
CREATE INDEX index3 ON tpcds.products (SUBSTR(SM_CODE,1 ,4));
=========================
2.设置索引1不可用,修改索引2的表空间,重命名索引3
ALTER INDEX tpcds.index1 UNUSABLE;
CREATE TABLESPACE example0 RELATIVE LOCATION 'tablespace1/tablespace_0';
alter index tpcds.index2 set tablespace example0;
\d+ tpcds.products;
ALTER INDEX tpcds.index3 RENAME TO index33;
=========================
3.重建索引2和products的所有索引
ALTER INDEX tpcds.index2 REBUILD;
REINDEX INDEX tpcds.index2;
reindex table tpcds.products;
=========================
4.使用\d+和系统视图pg_indexes查看索引信息
\d+ tpcds.products
select * from pg_indexes where tablename = 'products';
=========================
5.删除索引、表和表空间
DROP INDEX tpcds.index1;
DROP INDEX tpcds.index2;
DROP INDEX tpcds.index33;
drop table products;
DROP TABLESPACE IF EXISTS example0;
=========================




