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.索引本身失效
优化方案:删除重建