数据库与文件(性能)
Databases vs Files (performance)
我的C 程序必须读取有关256张图像的信息仅一次。信息很简单:每个图像的路径和一些浮子。
我不需要任何类型的并发访问。另外,我不在乎写作,删除或更新信息,也不必进行任何复杂的查询。这是我的管道:
- 阅读有关一张图像的信息。
- 将这些信息存储在对象上。
- 对信息进行一些计算。
- 删除对象。
- 下一个图像。
我可以使用256个文件(每个图像都有相同的信息),1个文件,其中包括所有信息或PostgreSQL数据库。什么会更快?
您的问题',它会更快',因为性能取决于许多不同的因素,包括OS,数据库或文件系统是否与您的应用程序相同的计算机,图像的尺寸等。我猜您可以找到一些组合,如果您尝试得足够多,可以更快地选择您的任何选择。
说,如果所有内容都在同一台计算机上运行,那么基于文件的方法似乎比数据库更快,只是因为数据库通常提供更多功能,因此可以做更多的工作(不仅仅是服务请求请求请求但是在后台也)必须使用更多的计算能力。
同样,似乎直观的是,一个文件将比多个文件更有效,因为它可以保存与多个文件关联的开口(并在必要时关闭)操作。但是,同样,给出绝对答案很难,因为打开和关闭多个文件可能是某些操作系统已经优化的常见用例,因此比仅使用单个文件的快速(甚至更快)。
。如果性能对于您的解决方案非常重要,则很难避免与目标部署系统进行一些比较测试。
相关文章:
- 在.cpp文件中定义方法而不是在 C++ 的 .h 文件中定义方法时,如何提高代码的性能?
- 在C 中读取大型CSV文件性能问题
- MPI 二进制文件 I/O 基本功能和性能问题
- Linux 与 Windows,C++读取 CSV 文件的运行时性能差异
- 将函数及其实现移动到与主文件不同的文件(.hpp 和 .cpp)时,性能会受到很大影响
- 将性能数据写入日志文件
- C++中大文件读/写的性能问题
- 数据库与文件(性能)
- C和C++文件读取性能的比较
- 与直接编译的可执行文件相比,linux.so的性能有所下降
- 二进制与文本模式下的文件操作 -- 性能问题
- 文件c++的写入性能
- 内存中 Boost r 树与映射文件中的性能差异
- 从文件中读取大量数据并以有效的方式解析日期.如何提高海量数据的性能
- Visual Studio 2012 性能分析无法加载符号文件
- 对于二进制数据,哪个性能更高:将整个对象写入文件或分隔变量(无对象)
- vsinstr.exe检测了大型可执行文件的性能
- FAT,在检索文件时优化性能
- 从json文件构造boost属性树的性能非常差
- 文件夹和命名空间会影响C++和跨平台的性能吗