第三章 使用多维存储(全局变量)(三)
在全局变量中复制数据
若要将全局变量(全部或部分)的内容复制到另一个全局变量(或局部数组)中,请使用ObjectScript Merge命令。
下面的示例演示如何使用Merge命令将OldData全局变量的全部内容复制到NewData全局变量中:
Merge ^NewData = ^OldData
如果合并命令的source参数有下标,则复制该节点及其后代中的所有数据。如果Destination参数有下标,则使用目标地址作为顶级节点复制数据。例如,以下代码:
Merge ^NewData(1,2) = ^OldData(5,6,7)
将^OldData(5,6,7)及其下的所有数据复制到^NewData(1,2)。
维护全局变量内的共享计数器
大规模事务处理应用程序的一个主要并发瓶颈可能是创建唯一标识符值。例如,考虑一个订单处理应用程序,在该应用程序中,必须为每一张新发票指定一个唯一的标识号。传统的方法是维护某种计数器表。每个创建新发票的进程都会等待获取此计数器上的锁,递增其值,然后将其解锁。这可能会导致对此单个记录的激烈资源争用。
