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

openGauss每日一练第9天|课后练习-普通表索引

原创 驿路辰风 2021-12-12
366

数据库连接及环境检查

切换用户至omm用户(gaussdb的所有者)

su - omm

gsql连接数据库,并检查当前会话连接信息:

gsql -r
\conninfo

当前非系统表索引信息

\d+ select * from pg_indexes where schemaname not like 'pg_%';

图片.png

课后练习

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

--创建表 create table products (product_id integer, product_name char(30), category char(20) ); --创建索引 CREATE UNIQUE INDEX IND_UN_ID ON products(product_id); CREATE INDEX IND_BT_NAME ON products USING btree(product_name); CREATE INDEX IND_EXP_NAME ON products(SUBSTR(product_name,1 ,2)); CREATE INDEX IND_EXP_NAME1 ON products(SUBSTR(product_name,1 ,2)); \d+ select * from pg_indexes where schemaname not like 'pg_%'; /************************************************************************************************************* 同一张表上同字段可建多个索引,只要求索引名不同,其他条件无限制 **************************************************************************************************************/

图片.png

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

--创建表空间 CREATE TABLESPACE tspc RELATIVE LOCATION 'tablespaces/tbs1'; --变更索引属性 ALTER INDEX IND_UN_ID UNUSABLE; alter index IND_BT_NAME set tablespace tspc; ALTER INDEX IND_EXP_NAME RENAME TO IND_EXP_CATE_NEW;

图片.png

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

--重建一个索引 ALTER INDEX IND_BT_NAME REBUILD; --或者 REINDEX INDEX IND_BT_NAME; --重建表上的所有索引 reindex table products; /************************************************************************************************************** 在以下几种情况下需要使用REINDEX重建索引: 索引崩溃,并且不再包含有效的数据。 索引变得“臃肿”,包含大量的空页或接近空页。 为索引更改了存储参数(例如填充因子),并且希望这个更改完全生效。 使用CONCURRENTLY选项创建索引失败,留下了一个“非法”索引。 注意: REINDEX DATABASE和SYSTEM这种形式的重建索引不能在事务块中执行。 **************************************************************************************************************/

图片.png

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

\d+ select * from pg_indexes where schemaname not like 'pg_%';

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

DROP INDEX IND_UN_ID; drop table products; drop tablespace tspc; drop tablespace tspc1;

图片.png

附:openGauss索引相关官网文档

openGauss 表索引创建
openGauss 表索引属性变更
reindex方式重建索引
openGauss 表索引删除

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

评论