mysql 索引长度解释及不使用索引的一种特殊情况

Posted 一匹河马

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 索引长度解释及不使用索引的一种特殊情况相关的知识,希望对你有一定的参考价值。

如果两个表关联的字段,在表结构中设置的字符集不一样,即使设置了索引,也无法使用。

详情可参考:

https://yq.aliyun.com/articles/69138?spm=5176.100239.bloglist.185.xQpesw

关于mysql explain时,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)

详情参考:http://www.cnblogs.com/gomysql/p/4004244.html

 

nnodb的mvcc和read view

1 看不到read view创建时刻以后启动的事务 
2 看不到read view创建时活跃的事务 

可参加:http://kabike.iteye.com/blog/1820553

以上是关于mysql 索引长度解释及不使用索引的一种特殊情况的主要内容,如果未能解决你的问题,请参考以下文章

MySQL索引

MySql索引简介

mysql-覆盖索引

mysql 查询的时候加了索引 查询还是很慢怎么办

mysql索引

Mysql索引基础