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

openGauss每日一练第17天 | 索引的管理

原创 olabll1 2022-12-10
755

学习目标

掌握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

1.png

2.通过hint使用索引

EXPLAIN SELECT /*+ indexscan(tab1 idx_tab1_c1 ) */  * FROM tab1 WHERE c1 < 3;


2.png

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';

3.png

6.删除索引

--执行下面的命令,删除表tab1的索引idx_tab1_c3_new:
omm=# drop index idx_tab1_c3_new;
DROP INDEX

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

评论