哪种数据类型最适合将图像保存在数据库中?
Posted
技术标签:
【中文标题】哪种数据类型最适合将图像保存在数据库中?【英文标题】:Which datatype is best for saving images in database? 【发布时间】:2021-11-16 16:55:39 【问题描述】:我正在使用 phpMyadmin 创建数据库,但我不知道数据库中图像的数据类型。
【问题讨论】:
这取决于您的数据库引擎,即 mysql、Postgres 等。通常,像 BLOB 这样的类型用于存储二进制数据。但可能更有效的方法是将文件存储在特殊存储(本地文件系统或 aws s3 或其他东西)中,并仅将文件路径放入数据库。在这种情况下,varchar 类型就可以了。 【参考方案1】:您当然可以使用 BLOB 数据类型将图像存储在数据库中
是的,您可以将图像存储在数据库中,但我认为这是不可取的,也不是一般做法。
一般做法是将图像存储在文件系统的目录中,并将对图像的引用存储在数据库中。例如图像的路径、图像名称等。或者,您甚至可以将图像存储在内容交付网络 (CDN) 或跨越一些巨大物理区域的众多主机上,并将访问这些资源的引用存储在数据库中。
图像可以变得非常大,超过 1MB。因此,将图像存储在数据库中可能会给数据库以及数据库和 Web 服务器之间的网络带来不必要的负载(如果它们位于不同的主机上)。
【讨论】:
TINYINT 怎么样? tinyint呢,它是用来存储小数的。 对不起,我的英文有点差,谢谢你的回答。 你绝对不能使用 tinyint 来存储图片。下面的文档将帮助你理解 mysql 数据类型dev.mysql.com/doc/refman/8.0/en/data-types.html 感谢您的帮助!以上是关于哪种数据类型最适合将图像保存在数据库中?的主要内容,如果未能解决你的问题,请参考以下文章
哪种 .NET 数据类型最适合在 NHibernate 中映射 NUMBER Oracle 数据类型?
哪种 HSQLDB 数据类型最适合 5000 个字符串:NTEXT、CLOB 或其他。?