蔡香满屋
站在牛顿头上吃苹果

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叉树

posted on 2018-11-03 17:08  蔡香满屋  阅读(78)  评论(0)    收藏  举报