隐式类型转换导致索引失效--mysql索引优化

1.先来看一张user表,name字段 建立了唯一索引

隐式类型转换导致索引失效--mysql索引优化_第1张图片

2. 执行SQL解析命令  EXPLAIN EXTENDED,对比一下 name 传的是字符型和数字型的索引分析。

   会发现传数字型的rows 是全表扫描,mysql隐式的将数值类型转换成了字符串类型,以匹配表。

   这也导致的在userName该列上的索引失效,从而导致全表扫描.[explain 用法]

EXPLAIN EXTENDED SELECT id,name FROM person where name= '9999031'

隐式类型转换导致索引失效--mysql索引优化_第2张图片

EXPLAIN EXTENDED SELECT id,name FROM person where name= 9999031

你可能感兴趣的:(数据库专题)