CLEAR_CACHES

清除 Vertica 内部缓存文件。

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

CLEAR_CACHES ( )

超级用户

注意

如果要为查询运行基准测试,除清除内部 Vertica 缓存文件之外,还要清除 Linux 文件系统缓存。内核使用未分配的内存作为缓存以保持磁盘块纯净。如果运行的是 Linux 2.6.16 或更高版本且具有 root 访问权限,则可清除内核文件系统缓存,如下所示:

  1. 确保缓存中的所有数据均已写入磁盘:

    # sync
    
  2. 写入 drop_caches 文件会导致内核从内存中删除干净缓存、条目和 iNode,使该内存进入空闲状态,如下所示:

    • 要清除页面缓存,请执行以下操作:

      # echo 1 > /proc/sys/vm/drop_caches
      
    • 要清除条目和 iNode,请执行以下操作:

      # echo 2 > /proc/sys/vm/drop_caches
      
    • 要清除页面缓存、条目和 iNode,请执行以下操作:

      # echo 3 > /proc/sys/vm/drop_caches
      

示例

以下示例清除 Vertica 内部缓存文件:

=> SELECT CLEAR_CACHES();
 CLEAR_CACHES
--------------
 Cleared
(1 row)