What advantage to use varchar instead of text data type?
我正在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'
-
@SergioTulentsev:在Postgres的性能或存储要求方面,varchar或text之间绝对没有任何区别。
-
@a_horse_with_no_name:是的,我们已经确定我错了:)
VARCHAR和TEXT之间没有显着差异:
PostgreSQL:text和varchar之间的区别(字符变化)