EXPLAIN 选择查询
select
查询前面的 Explain
显示了查询将如何执行。这样,你可以查看查询是使用索引还是通过添加索引来优化查询。
示例查询:
explain select * from user join data on user.test = data.fk_user;
示例结果:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE user index test test 5 (null) 1 Using where; Using index
1 SIMPLE data ref fk_user fk_user 5 user.test 1 (null)
在 type
上,你会看到是否使用了索引。在 possible_keys
列中,你可以看到执行计划是否可以从不存在的索引中进行选择。key
告诉你实际使用的索引。key_len
显示一个索引项的大小(以字节为单位)。该值越低,索引项就越适合相同的内存大小,就可以更快地处理它们。rows
显示了查询需要扫描的预期行数,越低越好。