首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[MySQL] mysql索引的长度计算和联合索引

[MySQL] mysql索引的长度计算和联合索引

作者头像
唯一Chat
发布2020-02-18 13:49:52
2K0
发布2020-02-18 13:49:52
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

1.所有的索引字段,如果没有设置not null,则需要加一个字节。 2.定长字段,int占4个字节、date占3个字节、char(n)占n个字符。 3.变长字段,varchar(n),则有n个字符+两个字节。 4.不同的字符集,一个字符占用的字节数不同。latin1编码的,一个字符占用1个字节,gbk编码的,一个字符占用2个字节,utf8编码的,一个字符占用3个字节。 utf8mb4是一个字符占4个字节 5.使用explain语句查询到的key_len字段,可以适用于上面的计算规则,可以看到查询是否使用到了联合索引 6.mysql优化器会对条件中的 and的前后顺序根据多列索引顺序自动纠正过来

通过索引的长度查看下面sql语句是否使用到了索引 CREATE TABLE `index_test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL DEFAULT '', `gid` int(11) NOT NULL DEFAULT '0', `age` int(11) NOT NULL DEFAULT '0', `score` int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `name_gid_age_index` (`name`,`gid`,`age`), KEY `score_index` (`score`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 insert into index_test values(null,'taoshihan',2,1,0); insert into index_test values(null,'taoshihan',2,2,0); insert into index_test values(null,'taoshihan',2,3,0);

explain select * from index_test where name='taoshihan' group by gid; +----+-------------+------------+------------+-------+--------------------+--------------------+---------+------+------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+------------+------------+-------+--------------------+--------------------+---------+------+------+----------+-------------+ | 1 | SIMPLE | index_test | NULL | index | name_gid_age_index | name_gid_age_index | 310 | NULL | 6 | 66.67 | Using where | +----+-------------+------------+------------+-------+--------------------+--------------------+---------+------+------+----------+-------------+

key_len的长度是310,也就是100*3+2 + 4 +4

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档