当前位置: 移动技术网 > IT编程>数据库>MSSQL > 第五十章 Caché 函数大全 $PREFETCHOFF 函数

第五十章 Caché 函数大全 $PREFETCHOFF 函数

2020年10月10日  | 移动技术网IT编程  | 我要评论
文章目录 第五十章 Caché 函数大全 $PREFETCHOFF 函数大纲参数描述参数grefgref2示例 第五十章 Caché 函数大全 $PREFETCHOFF 函数结束对全局变量的预取。大纲$PREFETCHOFF(gref,gref2)参数gref 可选-全局变量引用。gref2 可选-用于建立范围的全局变量引用。描述$PREFETCHOFF关闭由$PREFETCHON建立的全局节点的预取。$PREFETCHOFF有三种形式:$PREFETCHOFF()关闭为当前进

文章目录

第五十章 Caché 函数大全 $PREFETCHOFF 函数

结束对全局变量的预取。

大纲

$PREFETCHOFF(gref,gref2)

参数

  • gref 可选-全局变量引用。
  • gref2 可选-用于建立范围的全局变量引用。

描述

$PREFETCHOFF关闭由$PREFETCHON建立的全局节点的预取。

$PREFETCHOFF有三种形式:

  • $PREFETCHOFF()关闭为当前进程建立的所有预取。
  • $PREFETCHOFF(gref)关闭gref节点及其所有后代的预取。 gref值必须与$PREFETCHON值完全对应。
  • $PREFETCHOFF(gref,gref2)关闭从gref到gref2范围内的节点的预取。 gref和gref2必须是相同全局节点。 gref和gref2值必须与$PREFETCHON值完全对应。不能关闭部分值范围。

成功完成后,$PREFETCHOFF()返回0。即使没有预取将关闭,它也返回0。

成功完成后,$PREFETCHOFF(gref)$PREFETCHOFF(gref,gref2)返回由逗号分隔的六个整数的字符串。这六个值是:预取的块数,执行的I / O数,预取的操作数,预取的磁盘时间的毫秒数,后台作业:预取的块数和后台作业:执行的I / O数。

失败时,所有形式的$PREFETCHOFF都会返回-1。如果没有对应的$PREFETCHON与指定的全局范围或全局范围完全匹配,或者指定的预取全局范围或全局范围已关闭,则$PREFETCHOFF(gref)$PREFETCHOFF(gref,gref2)返回-1。

参数

gref

全局引用,可以是全局引用,也可以是过程专用的全局引用。在关闭预取时无需定义全局。

gref2

用于建立gref范围的全局引用。因此,gref2必须是与gref在同一全局树中较低的全局节点。

示例

以下示例建立两个预取,然后分别关闭它们:

// d ##class(PHA.TEST.Function).PREFETCHOFF()
ClassMethod PREFETCHOFF()
{
	SET ret=$PREFETCHON(^a)
	IF ret=1 { WRITE !,"prefetch established" }
	ELSE { WRITE !,"prefetch not established" }
	SET ret2=$PREFETCHON(^b)
	IF ret2=1 { WRITE !,"prefetch established" }
	ELSE { WRITE !,"prefetch not established" }
	SET retoff=$PREFETCHOFF(^a)
	IF retoff'=-1 { WRITE !,"prefetch turned off. Values:",retoff }
	ELSE { WRITE !,"prefetch not turned off" }
	SET retoff2=$PREFETCHOFF(^b)
	IF retoff2'=-1 { WRITE !,"prefetch turned off. Values:",retoff2 }
	ELSE { WRITE !,"prefetch not turned off" }
}

DHC-APP>d ##class(PHA.TEST.Function).PREFETCHOFF()
 
prefetch established
prefetch established
prefetch turned off. Values:0,0,0,0,0,0
prefetch turned off. Values:0,0,0,0,0,0

以下示例建立两个预取,然后关闭当前进程的所有预取:

/// d ##class(PHA.TEST.Function).PREFETCHOFF1()
ClassMethod PREFETCHOFF1()
{
	SET ret=$PREFETCHON(^a)
	IF ret=1 { WRITE !,"prefetch established" }
	ELSE { WRITE !,"prefetch not established" }
	SET ret2=$PREFETCHON(^b)
	IF ret2=1 { WRITE !,"prefetch established" }
	ELSE { WRITE !,"prefetch not established" }
	SET retoff=$PREFETCHOFF()
	IF retoff=0 { WRITE !,"all prefetches turned off" }
	ELSE { WRITE !,"prefetch not turned off" }
}

DHC-APP> d ##class(PHA.TEST.Function).PREFETCHOFF1()
 
prefetch established
prefetch established
all prefetches turned off

本文地址:https://blog.csdn.net/yaoxin521123/article/details/108990863

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网