如何使用berkeley db检索键小于指定键的数据?
Posted
技术标签:
【中文标题】如何使用berkeley db检索键小于指定键的数据?【英文标题】:How to retrieve data whose key is less than a specified key using berkeley db? 【发布时间】:2012-11-05 02:50:52 【问题描述】:正如您在标题中看到的那样,我想检索键小于指定键的数据,然后我需要连接许多游标,其中一个可能大于指定字符串,另一个可能小于指定整数。默认情况下,DB_SET_RANGE 将返回大于或等于指定键的键。
我是否应该使用重写比较函数来实现它,并将其设置为数据库的比较函数,就像set_bt_compare()一样?
谢谢!
【问题讨论】:
【参考方案1】:我想您会发现您仍然需要围绕 DB_NEXT 或 DB_PREV 进行自己的循环,并使用自己的逻辑来比较键并在更复杂的条件下退出循环。
您可以使用 DB_SET_RANGE 找到键更大的点,然后使用 DB_PREV 转身并向后移动。或者,您可以使用 DB_FIRST 从数据库的开头开始,然后使用 DB_NEXT 向前扫描,直到达到更大的位置。
【讨论】:
以上是关于如何使用berkeley db检索键小于指定键的数据?的主要内容,如果未能解决你的问题,请参考以下文章