更新日期:2024年09月11日
重置语句高速缓存属性
(SQL 管理 API)
随同 admin() 或 task() 函数,使用 onmode 和 W 参数来更改语句是否以及何时可插入
到 SQL 高速缓存。
语法
元素
描述
关键考虑
hits
在语句完全地插入到 SQL 语
句高速缓冲之前,
命中
(引用)
语句的数目。
可能的值为:
l 0
= 在高速缓存中插入所有满足条件的语
句及其内存结构。
l 1 或更大 = 排除 ad hoc 查询进入该高
速缓存。
value 语句是否插入到 SQL 语句高
速缓存中。
可能的值为:
l 0
= 数据库服务器不插入语句到高速缓存
内。
l 1
= 数据库服务器总是在高速缓存中插入
语句。
用法
在数据库服务器处于 online 时,使用这个函数来重置 STMT_CACHE_HITS 或
STMT_CACHE_NOLIMIT 配置参数的值。新的值仅影响数据库服务器的当前实例;该值不记录
在 ONCONFIG 文件中。如果您关闭并重启数据库服务器,则参数的值恢复为 ONCONFIG 文
件中的值。
如果您设置 STMT_CACHE_HITS 的值等于 0,
则数据库服务器在该高速缓存中插入所有满足
条件的语句及其内存结构。如果该值大于 0 且 SQL 语句已被执行的次数小于
STMT_CACHE_HITS 的值,则数据库服务器在高速缓存中插入 key-only 条目。在语句已经
发生指定的命中数之后,数据库服务器在高速缓存中插入满足条件的语句。新的
STMT_CACHE_HITS 值显示在 onstat -g ssc 输出的 #hits 域中。
GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 771 -
如果未分享任何查询,
则设置 STMT_CACHE_NOLIMIT 为 0 来阻止数据库服务器为语句高速
缓存分配大量内存。
这个函数等同于 onmode -W 命令。
示例
下列示例阻止 ad hoc 查询进入 SQL 语句高速缓存:
EXECUTE FUNCTION task("onmode","W","STMT_CACHE_HITS","1");