我想使用 Web 服务在远程 Web 服务器上的 MYSQL 数据库中插入一个文件。
我的问题是:什么类型的表列(例如 varchar 等)将存储文件?如果是文件,插入语句会有所不同吗?
按 MySQL 类型划分的文件大小:
-
TINYBLOB255 字节 =0.000255 MB
-
BLOB65535 字节 =0.0655MB
-
中型斑点16777215 字节 =16.78 Mb
-
LONGBLOB4294967295 字节 =4294.97 MB= 4.295 GB
然而,在大多数情况下,我不建议在数据库中存储大块字节,即使它支持它,因为它会增加整体数据库大小并可能导致真正的性能问题。您可以阅读有关该主题的更多信息here https://softwareengineering.stackexchange.com/questions/150669/is-it-a-bad-practice-to-store-large-files-10-mb-in-a-database。许多关心一致性能的数据库甚至不会让你做这样的事情。就像例如众所周知,AWS DynamoDB 在任何规模下都表现得非常出色,它将单个项目记录限制为 400KB。 MongoDB 确实允许 16MB,在我看来这也已经太多了。如果您愿意,MySQL 允许使用所有 4GB。但再次强调,在这样做之前请三思。您可能可以使用这些列类型存储大量数据的情况是 - 您的数据库流量较小,您只想将所有内容保存在一个地方以加快开发速度。就像小公司的内部制度一样。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)