在MySQL中存储序列化对象和性能

Ant*_*ony 3 php mysql serialization innodb

我们希望将序列化对象与唯一的内部ID一起存储在表中.我们只想读/写/(很少)更新行.我们永远不会只是ID与序列化字段进行交互.我们正在使用InnoDB,

首先;

将序列化存储为文本类型字段是否正确?

其次;

如果我们不直接与r/w之外的序列化字段进行交互,它会影响我们数据库的性能吗?

最后;

将序列化对象存储在我们的文件系统中会更好吗?

为了深入了解我们为什么首先存储它们,我们从供应商处收到一个对象,用户需要选择几个选项,我们需要使用修改后的(选定)组件发回EXACT对象.

fir*_*ire 6

  1. 是将其存储为文本字段(类型TEXT)是正确的,但BLOB如果您担心字符编码,也可以将其存储为二进制(类型).

  2. 不,如果您只是通过ID查找主键,那么它不应该有太多的性能影响.

  3. 如果您使用MySQL来存储ID,那么您也可以将序列化对象存储在表中,除非您有大量的序列化数据可能会占用大量磁盘空间但是将其存储在文件系统中会产生同样的问题.