mysql中text类型字段对查询效率的影响有多大?

mysql中text类型字段对查询效率的影响有多大?,第1张

多大,没法说。数据量越大,速度越慢。

因为mysql 是行存储模式,所以会把整行读取出来。text 储存了大量的数据。读取时,占了大量的io。所以会十分的慢。如果数据量有可能达到50万以上,一般此字段可以单独放到一个表里边。

应为text相较char、varchar查询速度更慢,

具体可以看看三者的差别

1、char,存定长,速度快,存在空间浪费的可能,会处理尾部空格,上限255。

2、varchar,存变长,速度慢,不存在空间浪费,不处理尾部空格,上限65535,但是有存储长度实际65532最大可用。

3、text,存变长大数据,速度慢,不存在空间浪费,不处理尾部空格,上限65535,会用额外空间存放数据长度,顾可以全部使用65535。

来源:网页链接

mysql中text 最大长度为65,535(2的16次方–1)字符的TEXT列。

如果觉得text长度不够,可以选择:

1、MEDIUMTEXT最大长度为16,777,215

2、LONGTEXT最大长度为4,294,967,295

使用方法:

mysql中的text对应oracle中的clob,又分为TINYTEXT, TEXT, MEDIUMTEXT,LONGTEXT, 都是表示数据长度类型的一种。

语法:[ UNSIGNED ] mediutext

TINYTEXT: 256 bytes

TEXT: 65,535 bytes =>~64kb

MEDIUMTEXT: 16,777,215 bytes =>~16MB

扩展资料:

text等字段需要慎重使用,多个text字段会报错,Row size too large 表示行的内容太多了。

修改方法:

1、首先查询下参数的值:

mysql>SELECT @@global.max_sort_length

2、然后去设置这个值:(数字根据需要自行填写)

mysql>SET GLOBAL max_sort_length=2048

当排序时只使用该列的前max_sort_length个字节。max_sort_length的 默认值是1024;该值可以在启动mysqld服务器时使用–max_sort_length选项进行更改。

text 和 char varchar blob这几种类型的区别:

char:定长,最大255个字符

varchar:变长,最大65535个字符(既是单列的限制,又是整行的限制)

text:变长,有字符集的大对象,并根据字符集进行排序和校验,大小写不敏感

blob:变长,无字符集的二进制大对象,大小写敏感


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

原文地址: http://outofmemory.cn/zaji/8411040.html

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

发表评论

登录后才能评论

评论列表(0条)

保存