我有一个大文本文件(~5GB),这是我程序的数据库。在运行期间,此数据库完全读取,其字符串函数如string :: find(),string :: at(),string :: substr()......
问题是这个文本文件无法加载到一个字符串中,因为 string :: max_size 肯定太小了。
你会如何实现这个?我有想法将一个零件加载到string-> reading-> closing->将另一个零件加载到相同的string-> reading-> closing-> ... 是否有更好/更有效的方式?
答案 0 :(得分:1)
你会如何实现这个?
使用真实数据库,例如SQLite。拥有索引的性能提升不仅可以弥补您学习其他API的时间。
答案 1 :(得分:0)
由于这是一个数据库,我假设它有很多记录。对我来说,最好的想法是为每个记录实现一个数据类,并根据你打算如何使用它来填充列表/向量/等。我也会考虑持久缓存,因为文件很大。
在所有记录的容器类中,您可以根据需要实现搜索等功能。但正如对这个大小的数据库的建议,你可能最好使用数据库。