ACTIVATE CACHE

此命令激活 DB2 用户表或持久高速缓存中已高速缓存的表。在完成之后,就可以执行使用存储过程的搜索操作。有关进一步的信息,请参阅存储过程搜索函数

仅当索引是使用 CACHE TABLE 选项创建的时候此命令才可用。有关进一步的信息,请参阅CREATE INDEX

权限

根据 DB2 目录视图,此命令中的用户标识必须对为其创建全文本索引的表具有 CONTROL 特权。

命令语法

阅读语法图跳过直观语法图>>-ACTIVATE CACHE FOR INDEX--+------------------+--index-name--->
                             '-index-schema-"."-'

>--FOR-TEXT--+----------+--+----------------------+------------><
             '-RECREATE-'  '-|connection-options|-'

connection-options:

|--+--------------------------------------------------------------+--|
   '-CONNECT-TO--database-name--+-------------------------------+-'
                                '-USER--userid--USING--password-'

命令参数

index-schema
文本索引的模式,如在 CREATE INDEX 命令中指定的那样。如果没有指定任何模式,则使用 DB2 连接的用户标识。
index-name
文本索引的名称,如在 CREATE INDEX 命令中指定的那样。
RECREATE
仅适用于使用持久高速缓存的索引;会删除现有高速缓存。如果完成了没有激活的更新,则会从数据库中自动重构持久高速缓存。
CONNECT TO database-name
作为此命令的目标的数据库的名称。如果设置了 DB2DBDFT 并且用户正在服务器上运行命令,则可以省略此参数。注意,用户标识必须具有必需的 DB2 权限。
USER userid USING password
使用 passworduserid 来连接至数据库。如果未指定它们,则会尝试使用当前用户标识而不带密码来建立连接。

用法

如果正在对索引运行下列命令的其中一个命令,则不能发出该命令:

注意

激活高速缓存的表可能需要从头开始重新创建它,即使使用的是持久高速缓存也是这样。如果在取消激活持久高速缓存的同时执行更新操作,则会发生这种情况。

用来构建高速缓存的内存量是根据当前文档数和结果列大小来动态计算的。使用 PCTFREE 值来将计算的最小内存量乘以因子 100/(100-PCTFREE)。PCTFREE 值是在 CREATEALTER INDEX 命令中指定的。

因此,PCTFREE 描述激活了高速缓存时保留给插入操作的已分配高速缓存的百分比。注意,对于每个 ACTIVATE CACHE 命令,都会重新估计实际内存大小。

对文件系统的更改
创建了用于实现持久高速缓存的文件。