mysql的索引key_len计算方法,及个字段所占字节数

Copy
key_len的长度计算公式: varchr(10)变长字段且允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)+2(变长字段) varchr(10)变长字段且不允许NULL = 10 *( character set:utf8=3,gbk=2,latin1=1)+2(变长字段) char(10)固定字段且允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL) char(10)固定字段且不允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)
Copy
mysql常用字段和所占字节数 TINYINT 1 字节 SMALLINT 2 个字节 MEDIUMINT 3 个字节 INT 4 个字节 INTEGER 4 个字节 BIGINT 8 个字节 FLOAT 4 个字节 DOUBLE 8 个字节 REAL 8 个字节 DECIMAL(M,D) M字节(D+2 , 如果M <D) NUMERIC(M,D) M字节(D+2 , 如果M <D) DATE 3 个字节 DATETIME 8 个字节 TIMESTAMP 4 个字节 TIME 3 个字节 YEAR 1 字节 CHAR(M) M字节,1 <= M <=255 VARCHAR(M) L+1 字节, 在此L <= M和1 <= M<= 255 TINYBLOB, TINYTEXT L+1 字节, 在此L< 2 ^ 8 BLOB, TEXT L+2 字节, 在此L< 2 ^ 16 ENUM('value1','value2',...) 12 个字节, 取决于枚举值的数目(最大值65535
Copy
MySQL中中的整数类型int主要有如下几种: tinyint 的范围是-128~127;存储大小为1个字节; smallint unsigned的范围是 –2^152^15表示215次幂) 到2^151,即 –3276832767smallint 的范围是 02^161,即 065535,存储的字节是2个字节。 int的范围是-2^31 (-2,147,483,648) 到 2^311 (2,147,483,647) 的整型数据(所有数字),存储大小为4个字节; bigint的范围是 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节; 我们在设计的时候要注意尽可能使用较小数据类型。
posted @   Yxh_blogs  阅读(1594)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示