【问题标题】:Data Type for storing URLs用于存储 URL 的数据类型
【发布时间】:2011-03-22 01:01:57
【问题描述】:

存储 URL 的最佳数据类型是什么?

我需要将图片的文件系统路径保存在数据库中。

【问题讨论】:

标签: sql database


【解决方案1】:

URL 是字符串,长度可变。

如果您的数据库系统支持这一点,请使用 VARCHAR。

【讨论】:

    【解决方案2】:

    VARCHAR 就足够了。

    CHAR 应该用于存储固定长度的字符串。字符串值将在存储到磁盘之前填充空格/空白。如果使用这种类型来存储可变长度的字符串,会浪费大量的磁盘空间。

    【讨论】:

    • CHAR 应该用于存储固定长度的字符串。字符串值将在存储到磁盘之前填充空格/空白。如果用这种类型来存储变长字符串,会浪费很多磁盘空间。
    【解决方案3】:

    VARCHAR2(4000) 足以满足您的需求

    【讨论】:

      【解决方案4】:

      我们倾向于将它们保存为 urlencoded VARCHARs。 (因为我们的 URL 是从服务器进入数据库的,所以我们使用 PHP 的 urlencode 对其进行编码,然后在使用 urldecode 检索它们时对其进行解码。)不要认为还有很多其他需要做的事情 - 你可能可以只需将它们存储为未编码的VARCHARs。

      【讨论】:

      • 谢谢斯蒂芬,请问为什么在数据库中编码 URL 很有用?
      【解决方案5】:

      varchar。根据您的领域知识选择合适的最大长度。

      【讨论】:

      • 抱歉为什么是 varchar 而不仅仅是 char?
      • @GibboK:因为使用char 会浪费大量空间。与固定大小的char 数据类型不同,varchar 在未使用字段的全长时不会存储任何空白字符。
      • 因为 char 是固定长度的,你会浪费很多空间。
      • varchar 因为数据库可以修剪未使用的空间,除非您的所有 URL 的长度都相同。
      • @Uzair_07 NVarChar 不是必需的,因为 URI 中有限的可接受字符意味着 unicode 不是必需的。 datatracker.ietf.org/doc/html/rfc3986#section-2
      猜你喜欢
      • 2016-10-27
      • 2011-08-20
      • 1970-01-01
      • 2014-06-11
      • 2013-01-31
      • 2010-09-22
      相关资源
      最近更新 更多