要想优化一条Query,可能需要找到这条Query的瓶颈,比如是CPU或者IO的原因。MySQL的Query Profiler是一个使用非常方便的Query诊断分析工具。通过该工具可以获取一条Query在整个执行过程中多种资源的消耗情况,如CPU,IO,IPC,SWAP等,以及发生的PAGE FAULTS。
1.开启profiling参数
2.执行Query
3.获取系统中保存的所有Query的profile概要信息
4.针对单个Query获取详细的profile信息
在获取概要信息之后,可以根据概要信息中的Query_ID来获取单个Query在执行过程中详细的profile信息了,具体操作如下
上面的例子是获取cpu和BLOCK IO的消耗,非常清晰,对于定位性能瓶颈非常合适。
原文:http://blog.csdn.net/magicharvey/article/details/19761005