MySQL 执行计划中的 key_len 表示什么

我们在使用MySQL中的 explain 命令查看执行计划中,往往能看到key_len 这个指标。 使用复合索引时,通过key_len 的值能判定SQL使用了索引中的哪些字段。

长度计算方法 1.字符集 字符集不同,字符占据的字节长度也不同。 字符集 字节长度 gbk 1个字符占2个字节 utf8 1个字符占3个字节 utf8mb4

Read more

MySQL order by + limit bug 触发原因及解决办法

问题描述 下面这个SQL,应该走where的索引 idx_iv_pid,包含 id_value 、parent_id 两列。 但是,走的是排序列 add_time的索引add_time_idx。从而SQL执行速度慢。 但是,但是! add_time_idx 并不在“possible_keys”里。

SQL真实执行时间为 1202ms

Read more

MySQL:如何找出不使用的索引

在数据库中,索引起到查询加速的作用,可以有效提升查询速度以及排序查询效率。但是,如果表上索引过多,会影响插入速度。 我们日常工作中,要日常检查索引是否在使用,不使用的索引要删掉节省空间。 MySQL查找不使用的索引:

Read more

MySQL 导出表上所有索引的创建语句

获取单表上所有索引的建表语句

  获取非主键索引的建表语句

  获取主键索引的建表语句

  如果想获取整个库中所有表的索引创建语句,可以写存储过程循环执行就行了。 &nbs

Read more