PostgreSQL数据库中char,varchar和text的区别

PostgreSQL数据库中char,varchar和text的区别,第1张

一般来说,SQL类数据库都会有三种字符串类型:固定长度的char,限定最大长度的varchar,可变长度的text。

在使用MySql的时候,我们通常会被告知,使用有最大长度的char或者varchar会在性能方面有好处,而在PostgreSQL中,却不一定是这样。

在PostgreSQL中,这三种类型的字符串数据并没有明显的性能差别,而且character(n)类型的数据一般是最慢的,因为固定长度导致更多的存储空间。所以,一般来说,text或者character varying就行了。

text字段类型是允许存放65535字节内的文字字符串字段类型。

longtext字段类型是允许存放2147483647字节内的文字字符串字段类型。

mediumtext字段类型是允许存放16777215字节内的文字字符串字段类型。

mysql中text,longtext,mediumtext字段类型区别为:字节限制不同、I/O不同、行迁移不同。

一、字节限制不同

1、text字段类型:text字段类型的字节限制为65535字节。

2、longtext字段类型:longtext字段类型的字节限制为2147483647字节。

3、mediumtext字段类型:mediumtext字段类型的字节限制为16777215字节。

二、I/O不同

1、text字段类型:text字段类型比longtext、mediumtext字段类型更不容易造成多余的I/O。

2、longtext字段类型:longtext字段类型比text、mediumtext字段类型更容易造成多余的I/O。

3、mediumtext字段类型:mediumtext字段类型比text字段类型更容易造成多余的I/O,比longtext字段类型更不容易造成多余的I/O。

三、行迁移不同

1、text字段类型:text字段类型比longtext、mediumtext字段类型更容易进行行迁移。

2、longtext字段类型:longtext字段类型比text、mediumtext字段类型更不容易进行行迁移。

3、mediumtext字段类型:mediumtext字段类型比text字段类型更不容易进行行迁移,比longtext字段类型更容易进行行迁移。

ntext:可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。 ntext中存数据是按双字节存的 ,显示不了NTEXT换一下recordset打开方式就行了 ntext和text的区别:ntext和text一样用来保存大量的文字数据,不过text用单字节保存数据 ,ntext固定用双字节保存数据 ntext保存的是Uncode的字符 , ntext支持跨语言平台。text: 服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。 char、varchar、text和nchar、nvarchar、ntext的区别:1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充。2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。 3、TEXT。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。4、NCHAR、NVARCHAR、NTEXT。这三种从名字上看比前面三种多了个“N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。数据库里的ntext类型,对应的数据类型是什么啊。

SQL 用于各种数据库的数据类型:

一、MySQL 数据类型:

在 MySQL 中,有三种主要的类型:Text(文本)、Number(数字)和 Date/Time(日期/时间)类型。

1、Text 类型。

2、Number 类型。这些整数类型拥有额外的选项 UNSIGNED。通常,整数可以是负数或正数。如果添加 UNSIGNED 属性,那么范围将从 0 开始,而不是某个负数。

3、Date 类型。

即便 DATETIME 和 TIMESTAMP 返回相同的格式,它们的工作方式很不同。在 INSERT 或 UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。

TIMESTAMP 也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。

二、SQL Server 数据类型:

1、String 类型。

2、Number 类型。

3、Date 类型。

4、其他数据类型。

扩展资料:

Microsoft Access的数据类型:

参考资料:

百度百科--SQL数据类型

SQL用于各种数据库的数据类型:

一、MySQL数据类型:

在MySQL中,有三种主要的类型:Text(文本)、Number(数字)和Date/Time(日期/时间)类型。

1、Text类型。

2、Number类型。这些整数类型拥有额外的选项UNSIGNED。通常,整数可以是负数或正数。如果添加UNSIGNED属性,那么范围将从0开始,而不是某个负数。

3、Date类型。

即便DATETIME和TIMESTAMP返回相同的格式,它们的工作方式很不同。在INSERT或UPDATE查询中,TIMESTAMP自动把自身设置为当前的日期和时间。

TIMESTAMP也接受不同的格式,比如、、YYYYMMDD或YYMMDD。

二、SQLServer数据类型:

1、String类型。

2、Number类型。

3、Date类型。

4、其他数据类型。

扩展资料:

MicrosoftAess的数据类型:

参考资料:

百度百科--SQL数据类型

以上就是关于PostgreSQL数据库中char,varchar和text的区别全部的内容,包括:PostgreSQL数据库中char,varchar和text的区别、mysql text、 long、 medium字段类型区别是什么、数据库里的ntext类型,对应的数据类型是什么啊。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10170511.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存