上篇博客,我们详细的说明了mysql的索引存储结构,也就是我们的B+tree的变种,是一个带有双向链表的B+tree。那么我今天来详细研究一下,怎么使用索引和怎么查看索引的使用情况。
我们先来简单的建立几张表。
只有ID加了索引,我们先来运行一下explain,看下结果。
其中包含了id,select_type,table,type,possible_keys,key,key_len,ref,rows,Extra这些列 ,我们来逐个看一下这些都有什么用吧。
id:
例如:EXPLAIN SELECT r.id FROM (SELECT id from student) r
从sql语句我们可以看出来,我们有两个select,也就是有两个id,然后呢,我们会优先运行红颜色的select,也就是id为2的,再运行id为1的select。
ref列:
图灵学院java架构之路-VIP(三)Mysql之Explain使用详解
原文:https://www.cnblogs.com/cxiaocai/p/11374729.html