您当前的位置: 首页 >  sql

小志的博客

暂无认证

  • 0浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MySQL高级——索引优化案例9

小志的博客 发布时间:2021-03-10 22:57:46 ,浏览量:0

目录
    • 一、建表语句
    • 二、案例
    • 三、结论

一、建表语句

1、员工表的建表语句

CREATE TABLE emps(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20) 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 '入职时间'
)COMMENT '员工记录表';

INSERT INTO emps(NAME,age,pos,add_time) VALUES('1000',22,'manager',NOW());

在这里插入图片描述

2、创建复合索引语句

ALTER TABLE emps ADD INDEX idx_emps_nameAgePos(NAME,age,pos);

3、查看创建的索引语句

SHOW INDEX FROM emps;

在这里插入图片描述

二、案例

1、根据索引列的name或者age条件查询所有数据。并执行explain。

EXPLAIN SELECT * FROM emps WHERE NAME = ‘1000’ OR age =22 在这里插入图片描述

  • 结论:使用or条件查询时,type为all,说明是全表扫描;key为null,说明实际中没有使用到索引。
三、结论
  • 用or连接时mysql查询会使索引失效。
关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0411s