什么时候使用MySQL BLOB推荐?

amo*_*era 18 mysql filesystems blob

我正在编写一个将上传和删除许多文件的应用程序,我通常只是将文件移动到服务器中的文件夹中,并使用唯一的行命名它们id.但据我所知MySQL还允许我存储二进制数据(文件)什么时候这是一个更好的选择?

请使用可靠的参数,例如何时使用BLOB将意味着性能提升?

PS:如果重要的话,我正在使用MyISAM.

谢谢.


更新:

相关问题:
- 在DB中存储图像 - 是或不是?
- 要做或不做:将图像存储在数据库中(感谢塞巴斯蒂安)

更新2

将文件存储在数据库中并不是需要知道什么时候比将它们存储在文件夹中更好.

Seb*_*ada 13

读:

结论

如果您有时需要检索图像,它必须在几个不同的Web服务器上可用.但我认为这就是它.

  • 如果它不必在多个服务器上可用,那么最好将它们放在文件系统中.
  • 如果它必须在多个服务器上可用,并且系统中实际存在某种负载,则需要某种分布式存储.


Rom*_*man 9

如果您使用的是MyISAM数据库引擎,则可以对BLOB字段建立索引,以便您可以使用数据库对文件执行快速搜索.

在BLOB字段中存储文件的另一个优点是,它们可以比磁盘上的文件更有效地访问(不需要目录遍历,打开,读取,关闭).

如果您计划在MYSQL中存储大量文件,那么将文件存储在单独的表中通常是一种很好的做法.这允许您扫描元信息而不会绊倒blob.然后,当您确实需要获取blob时,JOIN非常有效.