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

时间:2009-12-08 11:06:26

标签: mysql

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

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

6 个答案:

答案 0 :(得分:8)

如果通过“链接”表示指向网页的链接,我猜您要存储URLs

由于URL是可变长度字符串the VARCHAR data type似乎是显而易见的选择。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

我推荐一个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);

答案 4 :(得分:0)

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

答案 5 :(得分:0)

由于不同网站和页面的Web URL长度不同,因此使用具有不同长度的数据类型是适当的。

例如,如果我们要将“ www.google.com”存储在我们的数据库中就不会有问题,但是如果我们想保存Google搜索结果的链接,例如

https://www.google.com/search?newwindow=1&safe=active&ei=nc1SXYS2EfvKgwfmkYsQ&q=Allah&oq=Allah&gs_l=psy-ab.3..0i71l8.65605.66784..67313...0.0..0.0.0.......6....1..gws-wiz.j8DsXUL6juY&ved=0ahUKEwjE-LTPi4DkAhV75eAKHebIAgIQ4dUDCAo&uact=5

为此,我们将需要大量空间。

如果构造一个足以容纳此URL的CHAR字段,则几乎所有其他要存储的URL都将浪费大量空间。 可变长度字段使您可以定义一个字段长度,该字段长度可以存储奇数长长度值,而不会浪费所有空间用于普通短长度值。 MySQL中的可变长度文本字段仅使用必要的空间来将单个值存储到该字段中。

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