gpt4 book ai didi

c++ - 64 位机器上 16 GB 数据的 STL 映射用法

转载 作者:太空狗 更新时间:2023-10-29 19:42:32 26 4
gpt4 key购买 nike

这听起来很有趣(或者可能很奇怪),我只是想将一个非常大的数据库上传到内存中(这可以从 12GB 到 16GB)。该文件将每天上传到内存中,随后将被使用一整天(等等)。 如果我在这个用例中使用 STL 映射可以吗?STL 映射在 64 位机器上是否适用于这种数据大小(如果有人有处理此类问题的经验)。还有没有。对该 STL map 的查询次数约为每秒 1000 次。让我知道是否有人有处理此类问题的经验,或者我应该使用其他数据结构(任何可以可靠地这样做的第三方工具)?

我的主要问题是我想实时保存我的 I/O 时间。但我也有 mysql 作为我的数据库,我需要在其中保存这些数据。如果我将 sqlite 用作“内存中”DB 和然后我将该数据保存在 mysql 中(在磁盘上)?我认为 mysql 也为类似的东西提供了“MySQL 集群”,但我不知道它实际上有多大用处。

最佳答案

我不认为这是个好主意。要有效地管理如此大量的数据,您需要进行许多优化。 std::map 可能不会针对您的场景进行优化,而且我担心您可以编写的算法来处理它不会尽可能高效。

我建议您根据自己的目的使用数据库。如果您的瓶颈是磁盘 I/O,那么配置您的数据库以在 ram 上缓存更多信息(甚至 16GB,如果您有足够的内存)。

关于c++ - 64 位机器上 16 GB 数据的 STL 映射用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4828446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com