GBase 8c
其他
文章

GBase 8c 教程 (二十)日常重建索引

发表于2023-12-12 11:07:1534次浏览1个评论

在以下几种情况下,建议周期性的使用REINDEX命令重建索引:

  1. 索引崩溃,并且不再包含有效的数据;

  2. 索引变得“臃肿”,包含大量的空页或接近空页;

  3. 为索引更改了存储参数(例如填充因子),并且希望这个更改完全生效;

  4. 使用CONCURRENTLY选项创建索引失败,留下了一个“非法”索引。

语法:REINDEX [ ( VERBOSE ) ] { INDEX | TABLE | SCHEMA | DATABASE | SYSTEM } name

  • INDEX:重新创建指定的索引;

  • TABLE:重新建立指定表的所有索引,如果表有从属的"TOAST"表,则这个表也会重建索引;

  • SCHEMA:重新创建指定架构的所有索引;

  • DATABASE:重新创建当前数据库内的所有索引。共享的系统目录上的索引也会被 处理。这种形式的REINDEX不能在一个 事务块内执行;

  • SYSTEM:重新创建当前数据库中在系统目录上的所有索引。共享系统目录上的索引也被包括在内。用户表上的索引则不会被处理。这种形式的REINDEX不能在一个事务块内执行;

  • name:要被重索引的特定索引、表或者数据库的名字。索引和表名可以被模式修饰。当前,REINDEX DATABASE和 REINDEX SYSTEM只能重新索引当前数据库,因此它们的参数必须匹配当前数据库的名称。;

  • VERBOSE:在每个索引被重建时打印进度报告。

评论

登录后才可以发表评论
崔哥发表于 6个月前
乔木生云气。访中兴、英雄陈迹,暗追前事。战舰东风慳借便,梦断神州故里。旋小筑、吴宫闲地。华表月明归夜鹤,叹当时、花竹今如此。枝上露,溅清泪。遨头小簇行春队。步苍苔、寻幽别坞,问梅开未。重唱梅边新度曲,催发寒梢冻蕊。此心与、东君同意。后不如今今非昔,两无言、相对沧浪水。怀此恨,寄残醉。