MYSQL EXPLAIN
https://blog.csdn.net/u012180773/article/details/104138550
MySQL查看是否用到了索引,效率怎么样
索引 是提高MySQL查询性能的非常有用的一个工具,当我们对数据库中的某些字段建立了索引,那么怎么查看在执行的SQL查询的过程中是否用到了这些索引呢?
查询SQL语句的执行情况通常通过关键字 explain 来进行.
建表:
use test;
drop table if exists `student`;
create table `student`
(
`id` int not null auto_increment,
`name` varchar(50) not null,
`number` varchar(20) not null,
`address` varchar(100),
`age` int default 0,
primary key (`id`)
)Engine=InnoDB DEFAULT CHARSET=utf8;
insert into student (`name`, `number`, `address`, `age`)
values
("马云", "18000001", "浙江省杭州市余杭区", 55),
("马化腾", "18000002", "广东省深圳市南山区", 50),
("张一鸣", "18000003", "北京市海淀区", 38),
("王兴", "18000004", "北京市朝阳区", 40),
("李彦宏", "18000005", "北京市海淀区", 45),
("程维", "18000006", "北京市海淀区", 42),
("雷军", "18000007", "北京市朝阳区", 54),
("刘备", "18000008", "四川省成都市青羊区", 60),
("诸葛亮", "18000009", "四川省成都市武侯区", 43),
("关羽", "18000010", "湖北省荆州市荆州区", 58),
("张飞", "18000011", "四川省阆中市", 56),
("曹操", "18000012", "河南省洛阳市老城区", 63),
("孙权", "18000013", "江苏省南京市建邺区", 49),
("李世民", "18000014", "陕西省西安市长安区", 38),
("李隆基", "18000015", "陕西省西安市长安区", 28),
("朱元璋", "18000016", "江苏省南京市玄武区", 61),
("朱棣", "18000017", "北京市东城区", 39);
加索引前
explain select name, address from student where address like "北京市%";
加索引后
解释说明:
https://www.cnblogs.com/lishuoboy/p/17794889.html