文章
姚 鑫 · 十一月 3, 2021 阅读大约需 2 分钟

第六十五章 SQL命令 PURGE CACHED QUERIES

第六十五章 SQL命令 PURGE CACHED QUERIES

删除一个或多个缓存查询。

大纲

PURGE [CACHED] QUERIES

PURGE [CACHED] QUERIES BY AGE n

PURGE [CACHED] QUERIES BY TABLE table-name

PURGE [CACHED] QUERIES BY NAME class-name [, class-name]

参数

  • n - 自上次使用缓存查询以来的整数天数,指定为带引号的字符串。
  • table-name - 存在缓存查询的现有表的名称。
    表名可以是限定的(schema.table),也可以是非限定的(table)。
    非限定表名接受默认模式名。
  • class-name- 缓存的查询类名称或以逗号分隔的缓存查询类名称列表。
    缓存的查询类名是区分大小写的。

描述

PURGE CACHED QUERIES命令删除指定范围内定义的缓存查询:

  • PURGE CACHED QUERIES清除当前名称空间中的所有缓存查询。
  • PURGE CACHED QUERIES BY AGE n清除当前名称空间中最近n天内未使用(准备)的所有缓存查询。
    指定n值为0将清除当前名称空间中的所有缓存查询。
  • PURGE CACHED QUERIES BY TABLE TABLE -name清除引用指定表的所有缓存查询。
    如果查询引用了几个表,则会生成一个缓存查询,并为每个表列出一个查询。
    对这些表中的任何一个发出PURGE CACHED QUERIES BY TABLE将从所有这些表中清除这个缓存的查询。
  • PURGE [CACHED] QUERIES BY NAME class- NAME清除由缓存查询类名称指定的缓存查询。
    可以将多个缓存查询指定为逗号分隔的列表。
    列出的缓存查询可以引用不同的表,但所有表都必须在当前名称空间内。
    现金查询名称是区分大小写的。

CACHED关键字是可选的。

如果指定的类名不存在,或者指定的字母大小写不正确,则跳过该类名,命令继续清除列表中的下一个缓存查询;
对于无效的类名,不会执行任何操作,也不会生成任何错误。
如果指定的表没有任何关联的缓存查询,或者该表不存在,则不执行任何操作,也不会产生错误。

示例

下面的示例清除指定名称的缓存查询:

PURGE CACHED QUERIES BY NAME %sqlcq.USER.cls2

下面的示例清除所有过去两天内没有使用过的缓存查询:

PURGE CACHED QUERIES BY AGE "2"
0
0 25
讨论 (0)1
登录或注册以继续