explain命令:可以查看SQL的执行计划,分析SQL是否正确使用索引。
student 表如下:
student 表存储的数据如下:
用explain查看下面SQL语句的执行计划:
explain分析SQL执行过程时:
possible_key: 表示SQL执行可能会命中的索引
key: 表示执行过程真正使用的索引名称
rows: 表示查询数据影响的行数
分析:当前查询possible_keys、key都为null,则未命中索引,
rows=5表示查询了5条数据,即进行了全表查询,当前查询操作对每一行数据都进行比较。
当数据量较大时(400万时 ),全表扫描效率很低。
给name字段添加索引:
用explain查看上述同样语句的执行过程:
添加索引之后,再次查询 "ZhaoLei" 信息,只在表中查询一行数据即可得到,
当前查询命中 idx_name索引。