在MySQL中存储URL的最有效方法是什么?

时间:2013-04-09 17:47:55

标签: mysql space varchar

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

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

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

2 个答案:

答案 0 :(得分:1)

查看Storage Requirements上的MySQL文档。

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

  

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

local因此需要6个字节。

答案 1 :(得分:0)

没有。这就是VAR中的VARCHAR表示的内容。

请参阅the documentation for VARCHAR,尤其是有关存储使用情况的表格。