数据库与文件(性能)

Databases vs Files (performance)

本文关键字:性能 文件 数据库      更新时间:2023-10-16

我的C 程序必须读取有关256张图像的信息仅一次。信息很简单:每个图像的路径和一些浮子。

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

  1. 阅读有关一张图像的信息。
  2. 将这些信息存储在对象上。
  3. 对信息进行一些计算。
  4. 删除对象。
  5. 下一个图像。

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

您的问题',它会更快',因为性能取决于许多不同的因素,包括OS,数据库或文件系统是否与您的应用程序相同的计算机,图像的尺寸等。我猜您可以找到一些组合,如果您尝试得足够多,可以更快地选择您的任何选择。

说,如果所有内容都在同一台计算机上运行,那么基于文件的方法似乎比数据库更快,只是因为数据库通常提供更多功能,因此可以做更多的工作(不仅仅是服务请求请求请求但是在后台也)必须使用更多的计算能力。

同样,似乎直观的是,一个文件将比多个文件更有效,因为它可以保存与多个文件关联的开口(并在必要时关闭)操作。但是,同样,给出绝对答案很难,因为打开和关闭多个文件可能是某些操作系统已经优化的常见用例,因此比仅使用单个文件的快速(甚至更快)。

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