SQL语句优化

如果项目要对SQL语句进行优化,说明已经到了最后一步,一般来说:1.业务优化>2.设计,程序优化>3.DB,SYSTEM优化>4.SQL优化这种顺序去逐步优化效果更佳。

1.原理:cpu消耗过大通常情况下都是有慢sql造成的,这里的慢sql包括全表扫码,扫码数据量过大,内存排序,磁盘排序,锁竞争等待等。

2.表现现象:sql执行状态为,sending data,Copying to tmp table,Copying to tmp table on disk,Sorting result,locked。

3.可以通过登录数据库,通过show processlist查看当前正在执行的sql,当执行完show processlist后出现大量的语句,通常状态为sending data,Copying to tmp table,Copying to tmp table on disk,Sorting result,Using filesort都是sql有性能问题的。

4.通过explain查看具体sql执行计划。

以下是一些比较经典的案例:

SQL语句优化

SQL语句优化SQL语句优化SQL语句优化SQL语句优化SQL语句优化SQL语句优化

这个PPT是阿里巴巴在线技术峰会DB专家讲述的云数据库十大经典案例,我觉得总结的非常好,大家感兴趣的可以去群共享下载,一共有50多页PPT,这里就不再全部截图。