查找全局下标中点

时间:2012-07-23 16:10:54

标签: intersystems-cache

在CachéObjectScript(Intersystems的MUMPS方言)中,有没有办法有效地跳到全局下标范围的关键点的近似中点或线性点?等于,基于记录数量。

我想将下标键范围分成大致相等的块,然后并行处理每个块。

知道全局中的键被安排在某种二叉树中,这应该是底层数据存储引擎的简单操作,但我不确定是否有接口来执行此操作。

我可以通过扫描全局的整个键空间来做到这一点,但这会破坏尝试并行运行操作的目的。顺序扫描需要数小时才能实现全局。在开始扫描之前,我需要将键空间分开。

我希望每个线程都能到一个大致相等大小的连续键区域来单独扫描;问题在于计算给每个线程的关键范围。

2 个答案:

答案 0 :(得分:0)

你可以在函数$ order或$ query

中使用第二个参数“direction”(1或-1)

答案 1 :(得分:0)

根据我的特殊需要,我发现我正在使用的应用程序具有我称之为全局索引的内容。应用程序使用不同的键维护另一个全局,链接回主表。我可以在很短的时间内扫描它并从那里分解键集。

如果有人想出一个方法来做我想要的东西,只给出主要的全球,我会改变接受的答案。