数据库与文件(性能) 我的C++程序必须具有强> >读 256个图像一次的信息。信息很简单:每个图像的路径和一些浮动

数据库与文件(性能) 我的C++程序必须具有强> >读 256个图像一次的信息。信息很简单:每个图像的路径和一些浮动,c++,database,performance,file,filesystems,C++,Database,Performance,File,Filesystems,我不需要任何类型的并发访问。此外,我不关心信息的写入、删除或更新,也不必进行任何复杂的查询。这是我的管道: 阅读有关一个图像的信息 将该信息存储在对象上 用这些信息做一些计算 删除对象 下一张图片 我可以使用256个文件(每个图像都有相同的信息),一个包含所有信息的文件或一个PostgreSQL数据库什么会更快?您的问题“哪个会更快”很棘手,因为性能取决于许多不同的因素,包括操作系统,数据库或文件系统是否与应用程序位于同一台机器上,图片的大小等等。如果你足够努力的话,我想你可以找到一些组合,让你

我不需要任何类型的并发访问。此外,我不关心信息的写入、删除或更新,也不必进行任何复杂的查询。这是我的管道:

  • 阅读有关一个图像的信息
  • 将该信息存储在对象上
  • 用这些信息做一些计算
  • 删除对象
  • 下一张图片

  • 我可以使用256个文件(每个图像都有相同的信息),一个包含所有信息的文件或一个PostgreSQL数据库什么会更快?

    您的问题“哪个会更快”很棘手,因为性能取决于许多不同的因素,包括操作系统,数据库或文件系统是否与应用程序位于同一台机器上,图片的大小等等。如果你足够努力的话,我想你可以找到一些组合,让你的选择更快

    话虽如此,如果所有东西都在同一台机器上运行,那么基于文件的方法从直觉上看似乎比数据库更快,因为数据库通常提供更多的功能,因此需要做更多的工作(不仅仅是服务请求,还需要在后台),因此必须使用更多的计算能力

    类似地,一个文件似乎比多个文件更有效率,因为它保存了与多个文件相关联的打开(和关闭,如果需要)操作。但是,再次强调,给出一个绝对的答案是困难的,因为打开和关闭多个文件可能是某些操作系统已经优化的常见用例,因此使其与仅使用单个文件一样快(甚至更快)


    如果性能对您的解决方案非常重要,那么很难避免与您的目标部署系统进行一些比较测试。

    我认为,从程序的规模来看,文件是您的一个更简单、更快的选择。