explain 性能分析(三)

£神魔★判官ぃ 2022-09-11 08:20 290阅读 0赞

一 key_len

表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。

在不损失精确性的情况下,长度越短越好。

key_len 字段能够帮你检查是否充分的利用上了索引。ken_len 越长,说明索引使用得越充分。

key_len 显示的值为索引长度的最大可能长度,并非实际使用长度,即 key_len 是根据表定义计算而得,不是通过表内检索出的。

二 实战1

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAY2hlbmdxaXVtaW5n_size_20_color_FFFFFF_t_70_g_se_x_16

ken_len 越长,索引使用得越充分。查询的结果越精确。

三 实战2

1 表结构

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAY2hlbmdxaXVtaW5n_size_19_color_FFFFFF_t_70_g_se_x_16

2 explain 分析

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAY2hlbmdxaXVtaW5n_size_20_color_FFFFFF_t_70_g_se_x_16 1

3 计算方法

a 先看索引上字段的类型。比如 int=4 ; varchar(20) =20 ; char(20) =20

b 如果是 varchar 或者 char 这种字符串字段,视字符集要乘不同的值,比如 utf-8 要乘 3,GBK 要乘 2

c varchar 这种动态字符串要加 2 个字节

d 允许为空的字段要加 1 个字节

第一组:key_len=age 的字节长度 + name 的字节长度 = 4 + 1 + ( 20 * 3 + 2 ) = 5 + 62 = 67

第二组:key_len=age 的字节长度 = 4 + 1 = 5

四 计算方法小结

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAY2hlbmdxaXVtaW5n_size_20_color_FFFFFF_t_70_g_se_x_16 2

发表评论

表情:
评论列表 (有 0 条评论,290人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Explain性能分析总结

    一.概念 1.1 使用 EXPLAIN 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理你的 SQL 语句的。分析你的查询语句或是表结构的性能

    相关 MySQL性能分析-explain

    explain explain用来查看执行计划,使用explain关键字可以模拟优化器执行SQL查询语句,从而知道mysql是如何处理你的SQL语句,分析你的查询语句或是

    相关 MySQL Explain性能分析

    取次花丛懒回顾,半缘修道半缘君 本文转载自:[原文地址][Link 1] 通过explain可以知道mysql是如何处理语句,分析出查询或是表结构的性能瓶颈。通过exp