【发布时间】:2021-12-04 16:05:09
【问题描述】:
请解释一下TDengine中字符数据类型varchar和nchar的区别。对于字符数据的存储,TDengine提供的案例与传统的mysql数据库进行了对比。 Nchar 更多地用作字符格式类型,而不是 varchar,关于数据类型选择的详细信息有吗?
【问题讨论】:
请解释一下TDengine中字符数据类型varchar和nchar的区别。对于字符数据的存储,TDengine提供的案例与传统的mysql数据库进行了对比。 Nchar 更多地用作字符格式类型,而不是 varchar,关于数据类型选择的详细信息有吗?
【问题讨论】:
据我了解,在mysql中char/nchar是用来表示定长字符的,而varchar/varnchar是用来表示变长字符的:
https://dev.mysql.com/doc/refman/8.0/en/char.html
对于 char/nchar 类型,通常会指定一个长度。例如,TDengine 中的 NCHAR 类型固定为 4 个字节。如果我们创建类型为 NCHAR(4) 的列条目,“abc”将存储为 4 个字节,尾随空格将用于填充原始字符串。但是,如果将“abc”存储为 varchar,则长度将为 3。由于 NCHAR 是固定长度,因此在操作数据时会更快,但可能会导致额外的存储开销 IMO。
【讨论】: