原因:性能低、执行时间长、等待时间长、SQL语句欠佳(连接查询)、索引失效、服务器参数不合理(缓冲、多线程);
1.SQL:
编写过程 select ... from ... join ... on ... where ... group by ... having ... order by ... limit ...;
解析过程 from ... on ... join ... where ... group by ... having ... select ... order by ... limit ...;
2.SQL优化,主要就是优化索引
索引:index是帮助MYSQL高效获取数据的数据结构,索引熟数据结构(树:B树(默认)、Hash树...)
索引的弊端:
1.索引本身就很大,可以存放在内存/硬盘(通常为硬盘)
2.索引本身不是所有情况都适用 a.少量数据 b.频繁更新的字段 c.很少使用的字段
3.索引会降低增删改的效率
索引的优势:
1.提高查询的效率(降低了IO)的使用率
2.降低cpu的使用率(因为B树索引本来就是排好序的,所以可以直接使用)