1

我编写了一个从大文件(> 3 GB)中读取数据的 C 程序。文件中的每条记录都是一个键值对。每当有查询出现时,程序都会搜索键并检索相应的值,类似地更新值。
查询的速度很快,因此这种技术最终会失败。最坏情况访问时间过长。由于大小的原因,创建内存中的对象将再次成为一个坏主意。
有什么办法可以解决这个问题吗?

4

2 回答 2

5

当然,在我看来,包含一系列名称-值对的那种大小的文件正在请求迁移到实际的数据库中;如果做不到这一点,我可能至少会探索内存映射文件的想法,在任何给定时间只有部分驻留......

于 2012-09-04T20:47:57.313 回答
3

与其对应的值相比,键有多大?如果它们明显更小,您可以尝试在内存中的键与其值的文件中的相应位置之间创建一个表。

于 2012-09-04T20:53:35.553 回答