分享更有价值
被信任是一种快乐

MySQLexplain中key_len怎样计算

文章页正文上

本篇文章给大家分享的是有关MySQLexplain中key_len怎样计算,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MySQL explain中key_len的计算key_len表示索引使用的字节数,根据这个值可以判断索引的使用情况,特别是在组合索引的时候,判断该索引有多少部分被使用到非常重要。在计算key_len时,下面是一些需要考虑的点:索引字段的附加信息:1.可以分为变长和定长数据类型讨论;2.当索引字段为定长数据类型时,如char,int,datetime,需要有是否为空的标记,这个标记占用一个字节(对于not null来说不需要这一个字节);3.当索引字段为变长数据类型时,如varchar,除了是否为空的标记外,还需要有长度信息,需要占用两个字节;4.对于char,varchar,blob,text等,key_len的长度还和字符集有关,latin1 一个字符占用一个字节,gbk 一个字符免费主机域名占用两个字节,utf8 一个字符占用三个字节例如免费主机域名:列类型   KEY_LEN 备注id int key_len = 4+1 int为4bytes,允许为NULL,加1byteid bigint not nullkey_len=8 bigint为8bytesuser char(30) utf8key_len=30*3+1 utf8每个字符为3bytes,允许为NULL,加1byteuser varchar(30) not null utf8key_len=30*3+2utf8每个字符为3bytes,变长数据类型,加2bytesuser varchar(30) utf8key_len=30*3+2+1utf8每个字符为3bytes,允许为NULL,加1byte,变长数据类型,加2bytesdetail text(10) utf8key_len=30*3+2+1 TEXT截取部分,被视为动态列类型备注:key_len只表示了where中用于条件过滤时被选中的索引列,是不包含order by / group by 这一部分被选中的索引列的。例如:有一个联合索引idx(a1,b2,c3),三列均是 int not null,那么下面的执行计划中key_len的值是8,不是12select …. from table where c1=? and c2=? order by c1;以上就是MySQLexplain中key_len怎样计算,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注云技术行业资讯频道。

相关推荐: 函数重载Oracle和PG的异同是什么

本篇内容主要讲解“函数重载Oracle和PG的异同是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性免费主机域名强。下面就让小编来带大家学习“函数重载Oracle和PG的异同是什么”吧!OracleOracle不支持函数重载,一个函数名只能对…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册