暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第9天 | 学习心得体会及课后作业

原创 2021-12-10
476

学习目标

学习openGauss普通表索引

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息

#第一次进入等待15秒 

#数据库启动中... 

su - omm 

gsql -r

0

课程作业

1.创建表products, 分别为表创建一个unique索引1,指定b-tree索引2和表达式索引3

--创建表producets

create schema inx_cds;

CREATE TABLE inx_cds.products

(

idx1_ID INTEGER NOT NULL,

idx2_ID CHAR(16) NOT NULL,

idx3_TYPE CHAR(30),

p1 CHAR(10),

p2 CHAR(20),

p3 CHAR(20)

);


0


1.1、创建unique索引1。

CREATE UNIQUE INDEX idx1_id_index1 ON inx_cds.products(idx1_id);

0

1.2、创建b-tree索引2.

CREATE INDEX idx2_id_index2 ON inx_cds.products USING btree(idx2_id);

0

1.3、创建表达式索引3.

CREATE INDEX idx3_TYPE_index3 ON inx_cds.products(SUBSTR(idx3_TYPE,1 ,4));

0

2.设置索引1不可用,修改索引2的表空间,重命名索引3

2.1、设置索引1不可用

ALTER INDEX inx_cds.idx1_id_index1 UNUSABLE;

0

2.2、修改索引2的表空间

CREATE TABLESPACE idx_tbs RELATIVE LOCATION 'tablespace1/tablespace_tbs';

alter index inx_cds.idx2_id_index2 set tablespace idx_tbs;

0

2.3、重命名索引3

ALTER INDEX inx_cds.idx3_TYPE_index3 RENAME TO idx3_TYPE_index30;

0

3.重建索引2和products的所有索引

3.1、重建索引2

ALTER INDEX inx_cds.idx2_id_index2 REBUILD;

REINDEX INDEX inx_cds.idx2_id_index2;

0

3.2、重建products的所有索引

reindex table inx_cds.products;

0

4.使用\d+和系统视图pg_indexes查看索引信息

4.1、使用\d+ inx_cds.products查看索引信息

\d+ inx_cds.products

0

4.2、系统视图pg_indexes查看索引信息

select * from pg_indexes where tablename = 'products';

0

5.删除索引、表和表空间

5.1、删除索引

DROP INDEX inx_cds.idx1_id_index1;

DROP INDEX inx_cds.idx2_id_index2;

DROP INDEX inx_cds.idx3_TYPE_index30;

0

5.2、删除表

drop table inx_cds.products

0

5.3、删除表空间

drop tablespace idx_tbs;

0

删除成功。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论