SQL优化
SQL优化
sql执行性能低、执行时间长、等待时间长、SQL语句欠佳(连接查询)、索引失效、服务器参数设置。
(1.)SQL解析过程:
编写过程:select distinct ... from ... join..on..where..group by...having...order
解析过程:from .. on.. join..where.. group by ..having... select dinstinct.. order
(2.)SQL优化,主要式优化索引
索引:相当于书的目录,index帮助mysql高效的获取数据结构,索引是数据结构(树:B树、Hash树...)B树:小的放左,大的放大。
索引的弊端:
1.索引本身很大,可以存放在内存、硬盘(通常有硬盘)
2.索引不是所有情况适用:a.少量数据 b.频繁更新的字段 c.很少使用的字段
3.索引会降低增删改查的效率(增删改 查)
优势:
1.提高查询效率(降低IO使用率)
2.降低CPU使用率(... order by age desc)
(3.)索引分类:
单值索引:单列,age;一个表可以多个单值索引,name
唯一索引:不能重复,id
复合索引:多个列构成的索引(相当于二级目录(name,age))
(4.)创建索引:
create 索引类型 索引名 on 表(字段)
单值:
create index dept_index on tb(dept);
唯一:
create unique index name_index on tb(name);
复合索引:
create index dept_name_index on tb(dept,name);
【励志篇】:
古之成大事掌大学问者,不惟有超世之才,亦必有坚韧不拔之志。