有没有办法只得到存储在BDB中的值的长度(以字节为单位)?我不需要整个数据数组,只有它的大小。如何获得BerkeleyDB中的值的大小?
0
A
回答
2
如果你不想检索整个条目并且没有使用DPL,我会说你应该在存储的字节数组的大小上添加一个二级索引,并确保你的DAO正确更新此值在任何保存或更新。您可以添加一个KeyCreator
,该记录根据记录在辅助数据库中创建次要size
密钥。
你试图执行什么类型的查询?你想搜索给定大小的所有记录吗?或者你想在检索之前知道某个记录的大小?我认为后一个问题很难回答。
0
我假设你正在使用JE版本(或BDB的Java绑定),在这种情况下,一旦获得所需密钥的DatabaseEntry,getSize()应该会给你你想要的。
如果您使用C绑定,请检查DBT句柄的大小字段。
+0
我正在寻找一种方法来避免检索整个条目,因为我只需要它的大小。 – Fixpoint 2010-04-14 07:42:34
0
如果您将文档ID保存为重复数据项而不是一个blob数据项值,则可以使用DBC-> count()来检测匹配文档的数量,而无需实际检索长长的ID列表。否则,Berkeley DB API似乎不支持你要求的内容(即使你认为它可以有效地添加它)。我也对此感到困惑,那就是我为自己的项目提出的解决方案。
0
对于您的问题,使用DB_DBT_PARTIAL标志ang要求开始记录将为您提供您的第一个ID,并且可以使用DBT.size来计算ID的总数。
相关问题
- 1. 如何获得矢量中的最大值(或最小值)?
- 2. 如何获得Kivy中RstDocument的大小?
- 3. 如何获得SQL中的最大值?
- 4. 如何获得matlab imcontrast工具的最小值和最大值?
- 5. 如何获得真正的JPanel大小?
- 6. 如何获得矩阵的大小?
- 7. 如何获得GLSurface的大小?
- 8. 如何获得boto3集合的大小?
- 9. 如何获得HTA窗口的大小?
- 10. 如何获得UITableViewCell的矩形大小?
- 11. 如何获得NSString的大小
- 12. 如何获得3D std :: vectors的大小?
- 13. 如何获得SQL中有最大值和最小值的行的ID
- 14. 如何获得自动调整大小后的帧大小
- 15. 如何在Python 2.7中获得大于24小时的小时值?
- 16. 如何获得每个散列值的大小
- 17. 如何获得小数点后的值?
- 18. 如何获得表中字段使用的最大大小
- 19. 如何获得引导滑块中的最小值和最大值
- 20. 如何获得总和的最大值?
- 21. 如何获得计数的最大值
- 22. BerkeleyDB中的LOBs
- 23. 如何获得C#中的对象(类,结构)的大小
- 24. 如何获得触摸大小
- 25. 如何获得BLOB大小在MySQL
- 26. 如何获得数组大小
- 27. 如何获得gmaps.js地图大小?
- 28. 如何获得文件大小
- 29. 我如何获得MySql备份大小?
- 30. 获得日期的最小值和最大值的对象
在我的情况下,存储在密钥下的值是一个非常长的文档ID列表。我希望能够首先检索其中的100个,并向用户显示,例如“100个5000'000”。 目前,该任务被取消,但创建二级索引是我可能做的。谢谢! – Fixpoint 2010-06-01 14:52:25