标签:INDEX 在线 idx HGDB 索引 highgo test01 id
目录
文档用途
详细信息
文档用途
本文档主要用于指导瀚高数据库使用人员在线重建索引。
详细信息
情景一:单个索引/少量索引重建
查询某个表对应的索引信息:
highgo=# select * from pg_indexes where tablename = 'test01';
schemaname | tablename | indexname | tablespace | indexdef
------------+-----------+---------------+------------+--------------------------------------------------------------
public | test01 | idx_test01_id | | CREATE INDEX idx_test01_id ON public.test01 USING btree (id)
(1 row)
删除目标索引:
highgo=# drop index idx_test01_id ;
DROP INDEX
重建新索引:
highgo=# create index idx_test01_id on test01(id);
CREATE INDEX
情景二:大量索引重建
如果是对整个表所有索引重建:
highgo=# reindex table test01 ;
REINDEX
highgo=# select * from pg_indexes where tablename = 'test01';
schemaname | tablename | indexname | tablespace | indexdef
------------+-----------+---------------+------------+--------------------------------------------------------------
public | test01 | idx_test01_id | | CREATE INDEX idx_test01_id ON public.test01 USING btree (id)
(1 row)
注意事项:如果该表索引为空,则reindex不会创建任何索引。
知识拓展:
REINDEX语句对象还可以是数据库和索引自身,即:
REINDEX DATABASE testdb;
REINDEX TABLE my_table;
REINDEX INDEX aa_pkey;
情景三:大量索引重建,且部分索引不重建
SQL拼接处所有索引删除语句:
with inx_name as ( select * from pg_indexes where indexname like '%xxxxx%' )
select 'drop index ' || inx_name.indexname || ';' from inx_name;
选中自己所需索引进行删除操作即可。
标签:INDEX,在线,idx,HGDB,索引,highgo,test01,id 来源: https://blog.csdn.net/pg_hgdb/article/details/121751499
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。