Java培训之不要在索引列上做任何计算

发布时间:2020年06月18日作者:atguigu浏览次数:709

不要在索引列上做任何计算

不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描。

1 在查询列上使用了函数

EXPLAIN SELECT SQL_NO_CACHE * FROM emp WHERE age=30;

EXPLAIN SELECT SQL_NO_CACHE * FROM emp WHERE LEFT(age,3)=30;

Java培训

结论:等号左边无计算!

2 在查询列上做了转换

create index idx_name on emp(name);
explain select sql_no_cache * from emp where name=’30000′;
explain select sql_no_cache * from emp where name=30000;

字符串不加单引号,则会在name列上做一次转换!

Java培训

结论:等号右边无转换!


上一篇:
下一篇:
相关课程

java培训 大数据培训 前端培训 UI/UE设计培训

关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园2号楼3层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦6层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)

西安市雁塔区和发智能大厦B座3层(西安校区)