berkeleydb je に相当する "SELECT COUNT(*) FROM xz WHERE xz.a > value" は何ですか。http://www.oracle.com/technetwork/database/berkeleydb/performing.pdfには、必要なクエリのほとんどがリストされています。しかし、これが欠けています。
現在、コレクション API を使用して方法を見つけました。具体的には EntityIndex.sortedMap().tailMap(key).size() です。しかし、それには制限/問題があります:
- size を Integer.MAX_VALUE より大きくすることはできません。これは、int より大きいものをインデックス キーとして使用する場合に問題になります。
- http://download.oracle.com/docs/cd/E17277_02/html/java/com/sleepycat/collections/StoredContainer.html#size() を見ると、現在のトランザクションによってカウントが分離されていないことがわかります。インデックスには多くの同時変更があり、そのインデックス内の各オブジェクトの相対位置が他のオブジェクトと比較されます。支払いモデルはそれに基づいているため、その比較は正確である必要があります。
現在、berkeleydb je-4.1.6/DPL を評価しています。