berkeley db java中的多个键

Posted

技术标签:

【中文标题】berkeley db java中的多个键【英文标题】:berkeley db Multiple Keys in java 【发布时间】:2012-03-30 04:10:32 【问题描述】:

我正在尝试弄清楚如何在 Berkely DB 中实现“与”。 就像在 SQL 中一样,我们可以只使用 name='john' and id='1234',Berkely DB 中是否有这样的函数? 任何反馈将不胜感激!

更新

感谢您的回复。

查询示例:字符串查询 = "2012/03/11 2012/03/08 2012/03/07" 所以我必须从这个数据集中获取所有以下日期

2012/03/11:000000010
2012/03/11:000000011
2012/03/11:000000012
2012/03/08:000000013
2012/03/07:000000014
2012/03/07:000000015
2012/03/07:000000016
2012/03/05:000000017
2012/03/05:000000018
2012/03/04:000000019

并返回所有对应的字符串

   000000019 abc
   000000013 dfe
         .
         .
         .
   000010000 xyz

【问题讨论】:

【参考方案1】:

我不知道您甚至可以存储类似的东西... BDB 是一个键值存储,其中每个键都是唯一的,因此如果您的键是id,那么只需搜索id。但是,如果您的密钥是别的东西,那么您将不得不做一些棘手的事情来让它工作。在不知道您如何构建数据以及如何存储数据的情况下,我无法为您提供太多有用的建议。

那么您是如何存储数据的呢?什么是关键,什么是价值?

【讨论】:

那么再次回到同一个问题:关键是什么,价值是什么?您的更新仍然没有回答这个问题... 2012/03/11 2012/03/08 2012/03/07 是键(查询),值将是 'abc' 'dfe' 'xyz'。我希望这回答了你的问题。

以上是关于berkeley db java中的多个键的主要内容,如果未能解决你的问题,请参考以下文章

Berkeley-DB:多个数据库上的原子事务

Oracle - Berkeley DB XML Java API - XML 查询以获取多个级别的属性值

Berkeley DB:仅检索密钥

Java Berkeley DB 读取性能与 100M 文档

如何使用berkeley db检索键小于指定键的数据?

Berkeley DB:存储键的值列表