【发布时间】:2011-11-07 23:53:58
【问题描述】:
我使用leveldb 来存储记录(键值),其中键是 64 位散列,值是双精度值。打个比方:认为 64 位散列是客户的唯一 ID,双倍是帐户余额(即他们的帐户中有多少钱)。我想按账户余额对数据库进行排序,并首先列出账户余额最高的客户。但是,数据库无法放入内存,因此我必须使用其他方法对其进行排序,以便按帐户余额进行排序。
我正在考虑使用STXXL,但它要求我将数据库的副本复制到单个平面文件中,然后我可以使用 STXXL 进行外部排序(这会生成一堆较小的文件,排序然后将它们合并到另一个平面文件中)。是否有更好的数据排序方法或者我应该使用 STXXL 排序?
【问题讨论】:
标签: c++ algorithm sorting external-sorting leveldb