如何从berkeleydb je“选择COUNT(*)来自xz WHERE xz.a>值”

时间:2010-12-10 15:17:59

标签: java berkeley-db-je

什么是berkeleydb je的“SELECT COUNT(*)FROM xz WHERE xz.a> value”等价物。 http://www.oracle.com/technetwork/database/berkeleydb/performing.pdf列出了我需要的大多数查询。但是这个缺失了。

目前我通过使用Collections API找到了一种方法。 EntityIndex.sortedMap()。tailMap(key).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。

1 个答案:

答案 0 :(得分:0)

我刚注意到这个问题没有得到答复。在Berkeley DB论坛上已经提出并回答了类似的问题。您可能对以下任何一项感兴趣:http://bit.ly/gx0nwvhttp://bit.ly/dZYGhZ

将来您可能会发现,您可以在Berkeley DB的Oracle技术网论坛上获得有关Berkeley DB产品的更快答案,可以找到here