学习目标
学习openGauss普通表索引
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息
#第一次进入等待15秒
#数据库启动中...
su - omm
gsql -r
课程作业
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)
);
1.1、创建unique索引1。
CREATE UNIQUE INDEX idx1_id_index1 ON inx_cds.products(idx1_id);
1.2、创建b-tree索引2.
CREATE INDEX idx2_id_index2 ON inx_cds.products USING btree(idx2_id);
1.3、创建表达式索引3.
CREATE INDEX idx3_TYPE_index3 ON inx_cds.products(SUBSTR(idx3_TYPE,1 ,4));
2.设置索引1不可用,修改索引2的表空间,重命名索引3
2.1、设置索引1不可用
ALTER INDEX inx_cds.idx1_id_index1 UNUSABLE;
2.2、修改索引2的表空间
CREATE TABLESPACE idx_tbs RELATIVE LOCATION 'tablespace1/tablespace_tbs';
alter index inx_cds.idx2_id_index2 set tablespace idx_tbs;
2.3、重命名索引3
ALTER INDEX inx_cds.idx3_TYPE_index3 RENAME TO idx3_TYPE_index30;
3.重建索引2和products的所有索引
3.1、重建索引2
ALTER INDEX inx_cds.idx2_id_index2 REBUILD;
REINDEX INDEX inx_cds.idx2_id_index2;
3.2、重建products的所有索引
reindex table inx_cds.products;
4.使用\d+和系统视图pg_indexes查看索引信息
4.1、使用\d+ inx_cds.products查看索引信息
\d+ inx_cds.products
4.2、系统视图pg_indexes查看索引信息
select * from pg_indexes where tablename = 'products';
5.删除索引、表和表空间
5.1、删除索引
DROP INDEX inx_cds.idx1_id_index1;
DROP INDEX inx_cds.idx2_id_index2;
DROP INDEX inx_cds.idx3_TYPE_index30;
5.2、删除表
drop table inx_cds.products
5.3、删除表空间
drop tablespace idx_tbs;
删除成功。




