mysql 高级(基础五 索引优化(索引失效))

建表sql:

create table staffs(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(24) NOT NULL DEFAULT '' COMMENT  '姓名',
age INT NOT NULL DEFAULT 0 COMMENT '年龄',
pos VARCHAR(20) NOT NULL DEFAULT '' COMMENT  '职位',
add_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入职时间'
)CHARSET utf8 COMMENT '员工记录表';

INSERT INTO staffs(NAME,age,pos,add_time) VALUES('Z3',22,'manager',NOW());
INSERT INTO staffs(NAME,age,pos,add_time) VALUES('james',23,'dev',NOW());
INSERT INTO staffs(NAME,age,pos,add_time) VALUES('mic',23,'dev',NOW());
select * from staffs;

ALTER TABLE staffs ADD INDEX idx_staffs_nameAgePos(name,age,pos);

这里写图片描述
下面一次介绍这十点:
1:全值匹配,就是说所建的索引全部用上
2:最佳左前缀法则
这里写图片描述
3:这里写图片描述
left(name,3) 进行了全盘扫描,影响性能;
4:这里写图片描述
5:直接看对比图
这里写图片描述
6:对比图
这里写图片描述
7:这里写图片描述
8:使用覆盖索引解决%%索引失效的问题
对比图:
这里写图片描述
9:字符串一定要加单引号 否则数字会进行类型转换
10:案例图:使用or 全盘扫描
这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值