CaféObjectScript(IntersystemsのMUMPSの方言)で、グローバル添え字範囲のキーの近似中点または線形点に効率的にスキップする方法はありますか?レコード数に基づいて等しい。
下付き文字のキー範囲をほぼ等しいチャンクに分割してから、各チャンクを並行して処理したいと思います。
グローバルのキーが何らかのバイナリツリーに配置されていることを知っているので、これは基盤となるデータストレージエンジンの簡単な操作であるはずですが、これを行うためのインターフェイスがあるかどうかはわかりません。
グローバルのキースペース全体をスキャンすることでそれを行うことができますが、それでは操作を並行して実行しようとする目的が無効になります。シーケンシャルスキャンは、このグローバルで数時間かかります。スキャンを開始する前に、キースペースを分割する必要があります。
各スレッドが、キースペースのほぼ同じサイズの連続したチャンクに個別にスキャンするようにします。問題は、各スレッドに与えるキー範囲を計算することです。