在MySQL数据库中存储URL的最佳数据类型是什么?

在MySQL数据库中存储URL的最佳数据类型是什么?,mysql,Mysql,在MySQL数据库中存储URL的最佳数据类型是什么 理想的做法是不占用大量空间,但可以轻松处理可变长度的URL。如果“链接”是指指向网页的链接,我猜您希望存储 因为URL是可变长度的字符串,所以这似乎是一个明显的选择。我建议使用VARCHAR字段,长度实际上是您个人对预期存储的URL类型的看法。您可以使用VARCHAR(255)而不增加VARCHAR字段的存储要求,而不会受到惩罚 CREATE TABLE example( id INT(11) UNSIGNED NOT NULL AUT

在MySQL数据库中存储URL的最佳数据类型是什么

理想的做法是不占用大量空间,但可以轻松处理可变长度的URL。

如果“链接”是指指向网页的链接,我猜您希望存储


因为URL是可变长度的字符串,所以这似乎是一个明显的选择。

我建议使用VARCHAR字段,长度实际上是您个人对预期存储的URL类型的看法。您可以使用VARCHAR(255)而不增加VARCHAR字段的存储要求,而不会受到惩罚

CREATE TABLE example(
    id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    url varchar(125)  
);

$url = 'http://www.google.com';
$sql = 'INSERT INTO example SET url = ' . mysql_real_escape_string($url);

您可以将URL存储为简单字符串,但在比较值时要小心,因为URL可能以各种形式出现,但实际上表示相同的位置(例如,使用/不使用初始协议标识符,或使用/不使用尾部斜杠).

我们还可以在mysql数据库中为URL和文件链接获取BLOB数据类型

我们可以同时使用
Varchar(255)
BLOB
。URL以文本格式存储在数据库中

由于不同网站和页面的web URL长度不同,因此使用不同长度的数据类型是合适的

e、 如果我们想在我们的数据库中存储“www.google.com”,这不会是一个问题,但如果我们想保存来自谷歌的搜索结果链接,就像

“”

我们需要更多的空间

如果您构造一个足够大的CHAR字段来保存这个URL,那么您将为存储的几乎所有其他URL浪费大量空间。 可变长度字段允许您定义一个字段长度,该字段长度可以存储奇数的长长度值,而不会为公共的短长度值浪费所有空间。MySQL中的可变长度文本字段仅使用必要的空间将单个值存储到字段中

例如,保存字符串“www.google.com”的VARCHAR(255)字段只占用15个字节(每个字符1个字节加上一个额外的字节来存储长度)。
提示:MySQL与ANSI标准不同,它不填充VARCHAR字段。在存储某个值之前,会删除该值中的所有额外空格

给零规格或参数的方法。你到底有什么问题?你的问题太模糊了@尤达-从MySQL 5.0.3开始就没有了。根据您在行中其他列中存储的内容,该长度现在可以达到64k。@yoda:“在MySQL 5.0.3之前,该长度可以指定为0到255的值,在5.0.3及更高版本中,该长度可以指定为0到65535的值”(来自Dave的链接),从而准确回答“空”问题+1.