云数据库 GaussDB-REINDEX:示例

时间:2025-02-12 15:08:14

示例

 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940
--创建表tbl_test,并插入数据。gaussdb=# CREATE TABLE tbl_test(c1 int,c2 varchar);gaussdb=# INSERT INTO tbl_test VALUES (1, 'AAAAAAA'),(5, 'AAAAAAB'),(10, 'AAAAAAC');--创建索引,并查看索引大小gaussdb=# CREATE INDEX idx_test_c1 ON tbl_test(c1);gaussdb=# SELECT pg_size_pretty(pg_total_relation_size('idx_test_c1')) AS size;  size  -------- 176 kB(1 row)--插入一万条数据,然后删除数据,发现索引变大。gaussdb=# INSERT INTO tbl_test VALUES (generate_series(1,10000),'test');gaussdb=# DELETE FROM tbl_test WHERE c2 = 'test';gaussdb=# SELECT pg_size_pretty(pg_total_relation_size('idx_test_c1')) AS size;  size  -------- 504 kB(1 row)--重建一个单独索引之后,查看索引信息索引大小变回初始大小。gaussdb=# REINDEX INDEX idx_test_c1;gaussdb=# SELECT pg_size_pretty(pg_total_relation_size('idx_test_c1')) AS size;  size  -------- 176 kB(1 row)--在线重建一个单独索引。gaussdb=# REINDEX INDEX CONCURRENTLY idx_test_c1;--重建表tbl_test上的所有索引。gaussdb=# REINDEX TABLE tbl_test;--在线重建表tbl_test上的所有索引。gaussdb=# REINDEX TABLE CONCURRENTLY tbl_test;--删除tbl_test表。gaussdb=# DROP TABLE tbl_test;
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0661.html