MySql:索引的执行过程

 

explain命令:可以查看SQL的执行计划,分析SQL是否正确使用索引。

student 表如下:

MySql:索引的执行过程_第1张图片

student 表存储的数据如下:

MySql:索引的执行过程_第2张图片

用explain查看下面SQL语句的执行计划:

MySql:索引的执行过程_第3张图片

explain分析SQL执行过程时:

possible_key: 表示SQL执行可能会命中的索引

key: 表示执行过程真正使用的索引名称

rows: 表示查询数据影响的行数

分析:当前查询possible_keys、key都为null,则未命中索引,

rows=5表示查询了5条数据,即进行了全表查询,当前查询操作对每一行数据都进行比较。

当数据量较大时(400万时 ),全表扫描效率很低。

给name字段添加索引:

用explain查看上述同样语句的执行过程:

MySql:索引的执行过程_第4张图片

添加索引之后,再次查询 "ZhaoLei" 信息,只在表中查询一行数据即可得到,

当前查询命中 idx_name索引。

 

你可能感兴趣的:(MySql)