学习目标
掌握openGauss DBMS索引的管理:创建索引、删除索引、查询索引的信息、修改索引的信息。
1.创建表,在表中创建索引
drop table if exists tab1;
create table tab1(c1 serial primary key,c2 serial,c3 varchar(20));
insert into tab1(c3)values ('a');
insert into tab1(c3)values ('b');
insert into tab1(c3)values ('c');
insert into tab1(c3)values ('d');
insert into tab1(c3)values ('e');
create index idx_tab1_c1 on tab1(c1);
create index idx_tab1_c3 on tab1(c3);
--查看索引
\di

2.通过hint使用索引
EXPLAIN SELECT /*+ indexscan(tab1 idx_tab1_c1 ) */ * FROM tab1 WHERE c1 < 3;

3.rename索引
omm=# ALTER INDEX idx_tab1_c3 RENAME TO idx_tab1_c3_new;
ALTER INDEX
4.重建索引
omm=# ALTER INDEX idx_tab1_c3_new REBUILD;
REINDEX
omm=# REINDEX INDEX idx_tab1_c3_new;
REINDEX
--重建所有索引
omm=# reindex table tab1;
REINDEX
5.移动索引到其他表空间
CREATE TABLESPACE olablltbs RELATIVE LOCATION 'tablespace/olablltbs1';
--将索引idx_tab1_c3_new移动到表空间olablltbs:
ALTER INDEX idx_tab1_c3_new SET TABLESPACE olablltbs;
--查看索引所在的表空间
select * from pg_indexes where tablename = 'tab1';
--或
select * from pg_indexes where indexname = 'idx_tab1_c3_new';

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




