【发布时间】:2011-03-31 18:51:27
【问题描述】:
我了解 MySQL TEXT 和 MEDIUMTEXT 字段的大小/存储限制,但我只是想绝对确定(在我签署更改之前)我没有看到将字段转换为现有的任何不利影响从 TEXT 到 MEDIUMTEXT 的数据。
我关心的主要是性能、完整性和磁盘存储。
谢谢
【问题讨论】:
标签: mysql types field textfield
我了解 MySQL TEXT 和 MEDIUMTEXT 字段的大小/存储限制,但我只是想绝对确定(在我签署更改之前)我没有看到将字段转换为现有的任何不利影响从 TEXT 到 MEDIUMTEXT 的数据。
我关心的主要是性能、完整性和磁盘存储。
谢谢
【问题讨论】:
标签: mysql types field textfield
关于数据库层的性能、完整性和磁盘存储,我不会担心。
我能想到一种可能的影响:
一些客户端接口库会预先分配一个缓冲区来保存结果,它们会为可能的最大值分配足够的内存。客户端在获取数据之前不知道数据的长度,因此假设数据可能与数据类型支持的一样长,它必须分配足够的空间。
因此,库将为每个 mediumtext 分配 16MB,而为 text 分配 64KB。如果您的客户端层的内存限制较低,则需要注意这一点。例如,PHP 有一个用于脚本的memory_limit 配置参数,为数据结果集分配的缓冲区将计入此参数。
【讨论】:
mediumtext 比 text 使用更多的内存(具有相同的值,一个空字符串)。在我的简单测试中,差异是 0.5 MiB 与 1.5 MiB。