如何使用 berkeleydb je“从 xz WHERE xz.a > value 中选择 COUNT(*)”

Posted

技术标签:

【中文标题】如何使用 berkeleydb je“从 xz WHERE xz.a > value 中选择 COUNT(*)”【英文标题】:How to "SELECT COUNT(*) FROM xz WHERE xz.a > value" with berkeleydb je 【发布时间】:2010-12-10 15:17:58 【问题描述】:

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】:

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

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

【讨论】:

以上是关于如何使用 berkeleydb je“从 xz WHERE xz.a > value 中选择 COUNT(*)”的主要内容,如果未能解决你的问题,请参考以下文章

向 BerkeleyDB-JE 插入数据越来越慢

BerkeleyDB JE 随机访问时间非线性增加

优化 BerkeleyDB JE 数据库

在 BerkeleyDB JE 中选择不同的辅助键值

在 Berkeley DB Core 和 Berkeley DB JE 之间进行选择

在 Berkeley DB JE 中进行比较和交换?