(1)explain之例子

(2)索引单表优化案例




上面的功能已经实现,但是分析功能, 使用explain分析这条sql:

发现type为All Extra:有Using filesort (文件内排序) 这两个是影响性能的
查看下这张表:只有一个主键索引

为这几个字段建立一个符合索引:

建立完索引后,在使用explain进行分析一下:type变成了range,但是Extra还是留着Using filesort
因为comments>1,是一个范围,范围之后会导致索引失效,有范围导致后面的索引用不上
还需要优化

删除上面建立的索引:drop


重新建立索引:跳过comments字段
查看索引
此时再使用explain查看:


(3)索引两表案例优化案例


分析一下sql:type为all rows为20+20
有连个表:先给一张表book表建立索引

此时在分析sql:下面book的type变为ref 性能得到了增强
把索引加到class表:删除索引

加索引:

在次分析sql:class的type为index 效果ref>index 没有ref好,可以看出左连接给右表建立索引性能高

左连接,给右表建立索引。右连接,给左表建立索引
(3)索引三表优化案例
新建一个表


删除前面的建立索引:
三表查询:



分析一下sql:type全是all,需要建立索引优化
跟据左右连接,分别建立索引(左建右,右建左)
建立后分析一下sql:两分type变为all






















