将MySQL TEXT字段转换为MEDIUMTEXT的任何陷阱?

时间:2010-08-18 20:16:21

标签: mysql types field textfield

我理解MySQL TEXT和MEDIUMTEXT字段的大小/存储限制,但我只想绝对确定(在我签署更改之前)我没有看到使用现有字段转换字段时的任何不利影响从TEXT到MEDIUMTEXT的数据。

我担心的主要是性能,完整性和磁盘存储。

由于

1 个答案:

答案 0 :(得分:26)

关于数据库层的性能,完整性和磁盘存储,我不担心。

  • varchar,text和blob等可变长度数据的存储没有填充。
  • 我不知道任何有关诚信的问题。所有数据类型都由数据库引擎原子处理。
  • 当然,如果你有很长的文本数据,那么当你获取数据时,它将需要更多的存储空间和更多的时间来获得磁盘I / O和网络带宽。但是,如果这是您需要放入数据库的数据,那么您就必须这样做。

我可以想到一个可能的影响:

某些客户端接口库预先分配一个缓冲区来保存结果,并为最大可能值分配足够的内存。客户端在获取数据之前不知道数据的长度,因此它必须分配足够的空间,假设数据可能与数据类型支持的时间一样长。

因此,库将为每mediumtext分配16MB,而为text分配64KB。如果您的客户端层中的内存限制较低,则需要注意这一点。例如,PHP对脚本有一个memory_limit配置参数,为数据结果集分配的缓冲区将计入此值。