今天进入openGauss第九天的课程学习了,今天学习了openGauss表索引的几种模式创建、重命名和修改、删除等,也学习了如何去重建单索引和重建全索引。掌握了索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
以下是我今天的作业打卡内容,望老师批阅:
1.创建表products, 分别为表创建一个unique索引1,指定b-tree索引2和表达式索引3
su - omm
gsql -r
create schema test;
create table test.products (
id1 INTEGER NOT NULL,
id2 CHAR(16) NOT NULL,
id3 CHAR(30),id4 CHAR(10),
id5 CHAR(20),
id6 CHAR(20)
);

create unique index ds_products_index1 on test.products(id1);
create index ds_products_index2 on test.products using btree(id1);
create index ds_products_index3 on test.products(SUBSTR(id2,1,4));

\d+ test.products

select * from pg_indexes where tablename = 'products';

2.设置索引1不可用,修改索引2的表空间,重命名索引3
alter index test.ds_products_index1 unusable;
CREATE TABLESPACE example0 RELATIVE LOCATION 'tablespace1/tablespace_0';
alter index test.ds_products_index2 set tablespace example0;
alter index test.ds_products_index3 rename to ds_products_index4;
\d+ test.products

3.重建索引2和products的所有索引
ALTER INDEX test.ds_products_index2 rebuild;
reindex table test.products;

4.使用\d+和系统视图pg_indexes查看索引信息
\d+ test.products
select * from pg_indexes where tablename = 'products';

5.删除索引、表和表空间
drop index test.ds_products_index1;
drop index test.ds_products_index2;
drop index test.ds_products_index4;
drop table test.products;
drop tablespace example0;

以上就是我今天的学习和作业打卡情况。




