MySQL的性能优化
思考一个问题:为什么MySQL的查询会慢?
思考一下MySQL的执行流程:
客户端->服务端->语法解析->生成计划->执行计划->返回结果
在MySQL的整个执行流程中,一条SQL的整体响应时间包括但不限于以下时间
网络I/O传输时间
CPU计算时间
计划统计时间、计划执行时间
锁的互斥等待时间
操作系统上下文切换时间、系统调用时间
操作系统内存不足的I/O时间
......等等
对于SQL的优化,无论是什么数据库都是基于以上的方面进行优化
优化思路:
数据库是否检索了大量不需要的数据(如行、列)
增加了大量I/O,CPU的计算,内存资源,网络开销
查询了不需要的