mysql - 最好使用 : mysql column or file check to detect image?

标签 mysql performance filesystems disk-access

我总是进退两难:对于记录,我可以使用列图像 (tinyint),如果该记录有图像则为 true,否则为 false。

我也不能将该信息放入数据库中,在我的代码中,我使用磁盘文件系统“窥探”图像是否存在。

两者当然给出相同的结果。在数据库中意味着将图像状态与磁盘上的真实图像分开维护,意味着更难编程并且更容易出错(磁盘图像不再存在,在数据库中记录在列图像上为真)。

所以我通常使用磁盘检查。但我突然想到,也许这对磁盘访问有很大的影响。我知道数据库检查必须更快,无论如何我必须从数据库中获取记录。但是使用文件系统查找图像是否像我想象的那样糟糕?

最佳答案

将其存储在数据库中的优点:

  • 您可以创建查询来回答诸如“给我所有没有图像的对象”之类的问题
  • 速度更快,因为您不必接触磁盘

我认为仅将其存储在磁盘上没有任何好处。使用具有“单一责任地点”的模式,这意味着您的代码中只有一个地方可以保存、更新、删除图像。在这个地方更新文件和数据库。这样做,它不太容易出错。

反过来说:如果这使您的应用程序容易出错,您应该检查您的架构。

关于mysql - 最好使用 : mysql column or file check to detect image?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6763112/

相关文章:

php - MySQL 查询拉取项目,但总是在顶部显示某个项目

java - 将字符串数组列表的数组列表作为记录插入 MySQL 数据库

android - Android下实现对USB存储设备的文件系统访问

BeDS 支持的最大文件大小的计算

php - 将动态数组保存到 MySQL 数据库

mysql - 从明细表中获取相同的ID

c++ - C++ 中 OpenMPI 的成本

performance - 延迟初始化 AutoMapper

javascript - 在底部呈现阻塞延迟与移动脚本

C++将取消引用的对象推送到 vector