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

openGauss每日一练第 17 天| 学习心得体会

原创 肖雪松 2022-12-10
396

学习心得

因为接触过其他的数据库,所以这节课的内容基本都会,但是竟然有命令可以重建表上的所有的索引,虽然这个功能看起来很炫,但是感觉在生产环境估计并不会有多少用武之地

课后作业

1.创建表,在表中创建索引

omm=# create table test(id int,name varchar(10)); CREATE TABLE omm=# create index idx_test_id on test(id); CREATE INDEX omm=# \di List of relations Schema | Name | Type | Owner | Table | Storage --------+-------------+-------+-------+-------+--------- public | idx_test_id | index | omm | test | (1 row) omm=#

2.通过hint使用索引

omm=# insert into test values (1, 'xiaoming'); INSERT 0 1 omm=# insert into test values (2, 'xiaohong'); INSERT 0 1 omm=# insert into test values (3, 'xiaofang'); INSERT 0 1 omm=# insert into test values (4, 'xiaogang'); INSERT 0 1 omm=# explain select /*+ indexscan(test idx_test_id ) */ * from test where id=1; (3 rows) omm=# QUERY PLAN -------------------------------------------------------------------------- [Bypass] Index Scan using idx_test_id on test (cost=0.00..24.36 rows=6 width=42) Index Cond: (id = 1)

3.rename索引

omm=# alter index idx_test_id rename to idx_test_id_new; ALTER INDEX omm=# \di List of relations Schema | Name | Type | Owner | Table | Storage --------+-----------------+-------+-------+----------+--------- public | idx_test_id_new | index | omm | test |

4.重建索引

omm=# alter index idx_test_id_new rebuild online; ERROR: syntax error at or near "online" LINE 1: alter index idx_test_id_new rebuild online; ^ omm=# alter index idx_test_id_new rebuild; REINDEX omm=# reindex index idx_test_id_new; REINDEX omm=# reindex table test; REINDEX

5.移动索引到其他表空间

omm=# create tablespace myindex_ts relative location 'tablespace/myindex_ts1'; CREATE TABLESPACE omm=# omm=# alter index idx_test_id_new set tablespace myindex_ts; omm=# ALTER INDEX omm=# select * from pg_indexes where tablename = 'test'; schemaname | tablename | indexname | tablespace | indexdef ------------+-----------+-----------------+------------+----------------------------------------------------------------------------- public | test | idx_test_id_new | myindex_ts | CREATE INDEX idx_test_id_new ON test USING btree (id) TABLESPACE myindex_ts (1 row)

6.删除索引

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

评论