mysql 不等于 优化_Mysql优化

1. 策略1.尽量全值匹配

mysql 不等于 优化_Mysql优化_第1张图片

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,'manage',now());

insert into staffs(name,age,pos,add_time) values('july',23,'dev',now());

insert into staffs(name,age,pos,add_time) values('2000',23,'dev',now());

alter table staffs add index idx_staffs_nameAgePos(name,age,pos);

EXPLAIN SELECT * FROM staffs WHERE NAME = 'July';

EXPLAIN SELECT * FROM staffs WHERE NAME = 'July' AND age = 25;

EXPLAIN SELECT * FROM staffs WHERE NAME = 'July' AND age = 25 AND pos = 'dev'

当建立了索引列后,能在wherel条件中使用索引的尽量所用。

2. 策略2.最佳左前缀法则

如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列(和顺序无关,但是不能丢)。

你可能感兴趣的:(mysql,不等于,优化)