【问题标题】:What advantage to use varchar instead of text data type? [duplicate]使用 varchar 代替 text 数据类型有什么好处? [复制]
【发布时间】:2017-07-28 15:50:45
【问题描述】:

我正在 PostgreSQL 上创建一个表,我知道该文件是 char 数据类型,但尽管我知道它最多可以存储 100 个字符,但我想知道下一个:

字符或字符变化而不是文本的优点是什么?

我认为我知道的

如果我没记错的话,字符是固定长度保留在内存中,而varchar是可变的,与Text数据类型相同。最后一个能够存储 1 GB 的数据,但最小为 0 kb,与 varchar 和 char 的最小值相同。

假设情况

然后,我猜我很懒惰,尽管我知道最多可以存储 100 个字符,但我使用文本,因为如果将来需要,它可以存储这 100 个字符甚至更多。如果不使用适当的数据类型,我会失去哪些特征?

【问题讨论】:

  • 你的意思是“代替”,而不是“在前面”?
  • 我希望固定 char 列的阅读速度最快。
  • @SergioTulentsev 不一定:stackoverflow.com/q/31079819/479863。不确定这是否算作重复。
  • @muistooshort:啊,我当时在想mysql。 IIRC,那是真的。
  • 没有太多我们可以添加到链接(优秀)的答案,但更多的上下文:varchar / character varying 是 ANSI 友好的,但不是缺少长度约束的表单. text 是 SQL 的常用扩展,但并非所有供应商都支持它。此外,在 PostgreSQL 中,text 是字符串类型类别的默认(“首选”)类型。见:select * from pg_type where typcategory = 'S'

标签: postgresql sqldatatypes


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2012-09-23
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 2021-02-20
    • 2011-09-29
    • 1970-01-01
    相关资源
    最近更新 更多