我想将很长的文本(例如base64(图像)编码的字符串)保存到mysql表中。
在这种情况下,执行查询(选择、插入、更新、删除)是否很慢?
select * from A where index = x
table A
column index
column base64String <-- MEDIUMTEXT type
最佳答案
不,完全不,取决于您获取数据的方式,而不是数据的大小或类型。如果您仅存储图像文件的文件名并从路径获取图像可能会更快,因为您可以缓存这些文件。但是当您以base64编码存储文件时,请在mysql中使用blob数据类型。
以 Base64 存储文件没有任何性能问题,我使用 blob 作为图像编码数据的 mysql 数据类型。慢或快再次取决于查询的复杂性,并取决于消费者您的数据库消费者将如何使用数据。对于使用数据库中的数据有不同的优化机制,但是一旦我将用户的个人资料图像存储在数据库上,我就使用 Blob 作为数据类型。
关于mysql MEDIUMTEXT 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48869322/