提高索引检查的性能

oncheck 实用程序为使用行锁的表提供更好的并发性。 当表使用页锁定,oncheck 在执行索引检查时在表上放置共享锁定。在 oncheck 检查或打印索引信息时,共享锁定不允许其他用户对表执行更新、插入或删除。

如果该表使用页锁定,在您 运行不带 -x 选项的 oncheck 时,数据库服务器会返回 以下消息:
警告:索引检查需要对锁级别为页的表的 s-lock。

有关 oncheck 锁定的详细信息,请参阅 GBase 8s 管理员参考

以下总结描述了在索引检查过程中执行的锁定:
可以查询 systables 系统目录表来查看表的当前锁定级别,如以下简单 SQL 语句所示:
SELECT locklevel FROM systables
      WHERE tabname = "customer"
如果在 locklevel 列没有看到 R 值(对行),您可以修改锁定级别,如以下简单 SQL 语句所示:
ALTER TABLE tab1 LOCK MODE (ROW);

行锁可能会产生其他副作用,比如引起锁定使用的全面增加。 有关锁定级别的更多信息,请参阅锁定