SQL分为:
编写过程是从左到右编写:select distinct 。。。 from 。。。join 。。。。on 。。。 where 。。。 group by。。。 having。。。 order 。。。limit。。。
执行过程顺序是从左到右:from 。。。join 。。。。on 。。。 where 。。。 group by。。。 having。。。select distinct 。。。 order 。。。 limit。。。
===============================================
索引
优化主要是优化索引就是一个B树(以第一个记录为参照点,比它大的在右边,小的在左边不断排好序),如:

索引相当:书的目录 index是帮助MYSQL高效获取数据的数据结构。
索引的弊端:
1.索引本身很大,可以存放在内存或者硬盘(通常为硬盘中)
2.索引不是所有情况都适用,如:a.少量数据 b.频繁更新的字段 c.很少使用的字段
3.索引会降低增删改的效率(增删改),为什么改会变慢呢?是因为有了索引后,修改数据不只是要改原有的数据,还要相应的改索引也就是B树的数据。
优势:1.提高查询效率(降低IO使用率):因为查询时,是要从客户端链接到服务端,而这过程使用的是输入输出流也就是IO流,降低查询次数也就是降低了IO使用率。
2.降低CPU使用率:比如B树索引本身就是排好序的索引,所以如果是执行order by 。。。这种语句时,有了索引后就不用再重新排序了,如果没有索引,在查询出数据之后还要排一次序。因为order执行比较靠后。
扩展:索引也可以是3叉树

浙公网安备 33010602011771号