【发布时间】:2011-08-11 06:58:41
【问题描述】:
在我的网站上,用户可以在文本输入字段中插入超链接。然后,这个链接(一个字符串)被存储在我的数据库中。
在 MySQL 上,包含超链接字符串的字段是 TEXT 类型,但我认为它对于此类信息来说太长了。此外,VARCHAR(255) 有时太短。
存储超链接的最佳类型/长度是多少?很高兴知道链接可以有多长。
【问题讨论】:
-
当我正在做的一个项目面临同样的问题时,我们采用了两层方法——限制为 4K,但标准化 URL 并将 URL 记录的 ID 存储在其他表中.在我们的应用程序中,URL 经常重复,所以规范化对我们来说是有意义的。
-
按照规范化方法,您可以选择存储地址的 bit.ly URL...API 位于code.google.com/p/bitly-api/wiki/ApiDocumentation
-
超链接的限制是作为 URL 的意义所在。许多网络服务器会很乐意接受 16kB,但当然这样的事情完全是疯了。自己决定什么是理智的。 URL 应该是人类可读、可用和可记忆的。在我看来,拥有超过 60-80 个字符的 URL 已经很麻烦了,但是使用超过 100-120 个字符(亚马逊,嗯?)的 URL 的人是彻头彻尾的疯狂或完全无知。问问自己谁将输入一个 200 个字符的字符串,或者想象一下在电话上拼写一个 300 个字符的 URL。因此,如果您使用 VARCHAR(255) 绝对安全。
-
是的,我想我会放 varchar(255),并在服务器端检查字符串是否超过 255(否则我会删掉)。 255就够了:)