MySQL索引问题解决
# 1.没创建索引
# 2.结果集超过总数据的25%
使用 limit 100 100; 分页
# 3.使用字段做计算
explain select * from world.city where id=10+1; ## 走索引
explain select * from world.city where id+1=10; ## 不走索引、
# 4.隐式转换导致不走索引
explain select * from stu30 where phone='12312312312'; # 走索引
explain select * from stu30 where phone=12312312312; # 不走索引 phone的类型是varchar
# 5.模糊查询时 %不能放在最前面
explain select * from world.city where countrycodelike 'H%'; # 走索引
explain select * from world.city where countrycodelike '%H'; # 不走索引 ALL
explain select * from world.city where countrycodelike '%H%'; # 不走索引 ALL
# 6.范围查询使用 <> 、 not in
explain select * from world.city where countrycode<> 'CHN' limit 30; # 走索引
explain select * from world.city where countrycode<> 'CHN'; # 不走索引 超过总数居的25%
# 7.联合索引没有按照索引创建顺序查询,导致不走索引
优化方案:调研,日志数据分析,按照用户需求,创建联合索引
# 8.索引本身失效
优化方案:删除重建