No.10
以下哪些是重建索引的原因?( )
A.
索引存在大量“空页”
B.
索引选择性低
C.
索引损坏
D.
索引扫描率低
【答案】AC
【解析】
一些场景需要使用REINDEX:
- 一个索引已经损坏,并且不再包含合法数据。尽管理论上这不会发生,实际上索引会因为软件缺陷或硬件失效损坏。REINDEX提供了一种恢复方法。
- 一个索引变得“臃肿”,其中包含很多空的或者近乎为空的页面。 KingbaseES中的B-树索引在特定的非 常规访问模式下可能会发生这种情况。REINDEX 提供了一种方法来减少索引的空间消耗,即制造一个新版本的索引,其中没有死亡页面。
- 修改了一个索引的存储参数(例如填充因子),并且希望确保这种修改完全生效。
- 用CONCURRENTLY选项进行的一次索引创建失败,留下了一个“无效的”索引。这类索引是没有用处的,但是可以用 REINDEX来重建它们。注意,REINDEX将不会执行一次并发构建。要构建该索引并且不干扰生产,应该先删除索引并且重新发出 CREATE INDEX CONCURRENTLY命令。
以下哪个参数会影响触发自动检查点条件()
A.
min_wal_size
B.
max_wal_size
C.
checkpoint_timeout
D.
checkpoint_completion_target
【答案】BC
- min_wal_size (integer)
只要WAL磁盘使用率低于这个设置,旧的WAL文件总数被回收,以供将来检查点使用。而不是删除。这可以用来确保预留足够的WAL空间处理WAL使用中的峰值,比如当运行大批量工作时。
缺省是80MB。这个参数只能在kingbase.conf文件或者服务器命令行上设置。
- max_wal_size (integer)
在自动WAL检查点使得WAL增长到最大尺寸。这是软限制;特殊情况下WAL大小可以超过 max_wal_size,如重负载下,错误archive_command,或者较大wal_keep_segments的设置。缺省是1GB。增加这个参数会延长崩溃恢复所需要的时间。这个参数只能在kingbase.conf文件或者服务器命令行上设置。
- checkpoint_timeout (integer)
自动 WAL 检查点之间的最长时间,以秒计。有效值在30秒和1天之间。默认是 5 分钟(5min)。增加这个参数的值会增加崩溃恢复所需的时间。这个参数只能在kingbase.conf文件中或在服务器命令行上设置。
- checkpoint_completion_target (floating point)
指定检查点完成的目标,作为检查点之间总时间的一部分。默认是 0.5。这个参数只能在kingbase.conf文件中或在服务器命令行上设置。




