首页 > 代码库 > mysql查询性能优化

mysql查询性能优化

为什么查询会慢?

    如果把查询看作一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间。优化查询实际上就是优化其子任务,要么消除其中一个子任务,要么减少子任务的执行次数,要么让子任务运行得更快。

    查询的生命周期大致分为:从客户端,到服务器,然后在服务器上进行解析,生成执行计划、执行(调用存储引擎检索数据,调用后的数据处理排序、分组等)并返回结果给客户端。为了完成这些任务,查询需要在不同的地方花费时间,包括网络、CPU计算、生成统计信息和执行计划、锁等待(互斥等待)等操作,尤其是向底层存储引擎检索数据的调用操作,根据存储引擎的不同还会产生大量的上下文切换和系统调用。