0

这实际上不是一个编码问题,但我想学习一些东西。

我正在尝试为数据库中的项目保存图片 URL。起初,我创建了 type 的 *img_url* 列TEXT,但事实证明它不能有我需要的默认值。

所以我想我会使用类似的东西VARCHAR(2000),但另一方面,大多数项目将具有值“local”,即 varchar(5)。所以我想了解的是,即使大多数单元格包含 5 个字符的字符串,表格是否会像所有行都有 2000 个字符的字符串一样使用内存空间?

4

2 回答 2

1

查看有关存储要求的 MySQL 文档。

正如您将看到的,存储值的成本不在 VARCHAR(length) 中,而是与它存储的数据直接相关,并带有一些开销。

VARCHAR(M), VARBINARY(M) 如果列值需要 0 – 255 个字节,则 L + 1 个字节,如果值可能需要超过 255 个字节,则 L + 2 个字节

因此 valuelocal将占用 6 个字节。

于 2013-04-09T17:51:03.443 回答
0

不,这就是VARin所VARCHAR表示的。

请参阅VARCHAR 的文档,尤其是有关存储使用情况的表。

于 2013-04-09T17:49:04.533 回答