我想禁用(并稍后重建)HSQLDB 中给定表的所有索引。我从 SQL Server 知道此功能,您可以在其中编写
ALTER INDEX ALL ON MyTable DISABLE;
禁用表的所有索引,然后重建它们
ALTER INDEX ALL ON MyTable REBUILD;
我什至不确定 HSQLDB 是否支持禁用和启用单个索引。
我不认为这确实得到支持。但是,您可以删除索引,然后再次创建它。像这样的东西:
DROP INDEX index [IF EXISTS];
ALTER TABLE MY_TABLE ADD INDEX MY_INDEX
查看此文档以获取更多信息。
HSQLDB 没有这个特性。
您可以执行 SHUTDOWN COMPACT 以在所有表上重新创建所有索引。