首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql中通过PHP序列化数据的VARBINARY和BLOB?

在mysql中通过PHP序列化数据的VARBINARY和BLOB?
EN

Stack Overflow用户
提问于 2012-05-27 22:30:44
回答 1查看 803关注 0票数 0

我将serialized数据存储在mysql中,但不确定该选择哪种字段类型?

串行化数据输出的一个示例如下,

代码语言:javascript
复制
string(393) "a:3:{s:4:"name";s:22:"PACMAN-Appstap.net.rar";s:8:"trackers";a:6:{i:0;s:30:"http://tracker.ccc.de/announce";i:1;s:42:"http://tracker.openbittorrent.com/announce";i:2;s:36:"http://tracker.publicbt.com/announce";i:3;s:23:"udp://tracker.ccc.se:80";i:4;s:35:"udp://tracker.openbittorrent.com:80";i:5;s:29:"udp://tracker.publicbt.com:80";}s:5:"files";a:1:{s:22:"PACMAN-Appstap.net.rar";i:4147632;}}"

数据的字符串长度可以有很大的变化,最高可达20,000个字符。

我知道我不想使用TEXT数据类型,因为这可能会破坏数据,因为它必须使用字符集。

当涉及到使用VARBINARYBLOBMEDIUMBLOB等时,我被卡住了。

比方说,如果我使用VARBINARY(20000),这是否意味着我可以安全地插入长度为20000的字符串,如果插入结束,则丢弃插入?

EN

回答 1

Stack Overflow用户

发布于 2012-05-27 22:59:04

我同意PLB的观点,你应该使用BLOB。length属性指定可以在此列中保存的字节数。BLOBVARBINARY之间的主要区别是VARBINARY使用填充来填充未使用的空间,而BLOB只为一个字段保留了数据的实际长度。

但正如PLB所说,只有在绝对必要的情况下才使用它,因为它在大多数情况下会减慢整个数据库的速度。更好的解决方案是将文件存储在服务器的文件系统中,并将文件的路径保存在数据库中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10774717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档