mysql varchar最大是多少?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql varchar最大是多少?相关的知识,希望对你有一定的参考价值。

mysql 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文 件的大小。
MySQL 数据库的varchar类型在4.1以下的版本中,nvarchar(存储的是Unicode数据类型的字符)不管是一个字符还是一个汉字,都存为2个字节 ,一般用作中文或者其他语言输入,这样不容易乱码 ;varchar: 汉字是2个字节,其他字符存为1个字节 ,varchar适合输入英文和数字。
4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) ;5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 ;varchar(20)在Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同,具体有以下规则:
a) 存储限制
varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。
b) 编码长度限制
字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;
字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。
若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。
c) 行长度限制
导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。

---------------------------------------------------------------------
mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532。
参考技术A MySQL中VARCHAR类型的最大长度为255个字符。
根据字符集格式不同,会是不同的答案:
字符类型若是GBK,每个字符占用2个字节,最大长度不能超过32766
字符类型是UTF8,每个字符最多占用3个字节,最大长度不能超过21845,当超过了这个长度的时候,mysql会自动将varchar类型转为longtext或者mediumtext

mysql varchar 最大可以设定多少

参考技术A mysql varchar 最大可以设定多少 这不是一个固定的数字。简要说明一下限制规则。 1、限制规则栏位的限制在栏位定义的时候有以下规则: a) 储存限制varchar 栏位是将实际内容单独储存在聚簇索引之外,内容开头用1到2个位元组表示实际长度(长度超过255时需要2个位元组),因此最大长度不能超过65535。 b) 编码长度限制字元型别若为gbk,每个字元最多占2个位元组,最大长度不能超过32766; 字元型别若为utf8,每个字元最多占3个位元组,最大长度不能超过21845。若定义的时候超过上述限制,则varchar栏位会被强行转为text型别,并产生warning
python socket 包最大可以设定多少4096
最好设计一个包的协议,回圈读到结尾为止。
比如前4个位元组的整数是包的长度,那么伺服器先读四个位元组,解析出整数,后面的回圈读到这些位元组为止。当然已经有很多现成的框架或库来完成这样的工作了。
oracle 连线数 最大可以设定多少
我以前认为oracle processes引数只是规定程序数的上限,随便设定多大都可以,于是设定了个一千万,结果重启资料库的时候发现启动不了。 其实processes设定的值还是会占用oracle记忆体的,设定过大的话,你sga中没有足够的记忆体分配,资料库便无法启...

我以前认为oracle processes引数只是规定程序数的上限,随便设定多大都可以,于是设定了个一千万,结果重启资料库的时候发现启动不了。
其实processes设定的值还是会占用oracle记忆体的,设定过大的话,你sga中没有足够的记忆体分配,资料库便无法启动。
你可以自己实验对比下,
当你设定不同processes值时候,shared_pool中的processes池,大小也会随之变化
select * from v$sgastat where pool='shared pool' and name='processes';
-----------------------------------------------------------------------------------------------------
目前我所见到的生产环境中的库,大点的话,一般processes在3000左右就够用了,当然你的环境要是超大型oltp型别的,那么另说了,总的来说就是要根据你业务情况来了。
另外,你可以通过下面语句看看历史会话数的峰值是多少,来判断是否需要调整processes
select sessions_current,sessions_highwater from v$license;
oracle最大可以设定多少游标数
Oracle中预设的游标数是300,最大的话应该是1000.

检视当前最大游标数:
SQL> show parameter open_cursors;NAME TYPE VALUE------------------------------------ ----------- -------------------open_cursors integer 300
设定最大游标数的命令:
SQL> alter system set open_cursors=1000 scope=both;

Flash 影片频率最大可以设定到多少?
估计几百吧,其实很大时无意义的,能达到适当的流畅度即可
Flash中影片频率最大可以设定到多少?
120
flash影片帧频率最大可以设定到多少
如果是制作动画或者正常使用,最高60,再高了也没有必须,一般都是24-30

您好,Flash的帧速可以设定在 0.01-1000 以内的任意一个数值。
其中在Flash舞台属性面板里可以设定的范围是0.01-120;
如果想要设定更高的帧频,可以对 stage.frameRate 属性进行赋值,比如:
stage.frameRate = 500;
但通常来说如果您需要制作动画,一般设定在24-30即可,
如果您是游戏开发和建立特效,建议设定在30~60即可。
aix 交换空间最大可以设定成多少
AIX交换空间就是一个LV,上限也就是LV的上限,一般不会设定过大,以前常设定为记忆体的2倍,现在AIX的系统记忆体很大,所以换页空间设定往往用预设的较多。

以上是关于mysql varchar最大是多少?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL VARCHAR 的最大大小是多少?

mysql varchar 最大可以设定多少

mysql varchar()最大能定义多少,varchar(2000)正确吗

mysql varchar定义长度多少为好

MySQL的VARCHAR最大值是多少

mysql VARCHAR的最大长度到底是多少