高性能MySql学习笔记-第三章

这一章主讲了性能剖析,对于我这种大厂的业务研发螺丝钉而言着实用不太上,简单记几个点。

  • 定义性能最有效的方法是响应时间

  • 测量的最佳开始点是应用程序,而不是数据库

  • 优化和提升是两回事,当继续提升的成本超过收益的时候,应当停止优化

  • SHOW PROFILE命令

    1. SHOW PROFILE命令是MySQL5.1以后引入的,默认是禁用的,可以通过SET profiling = 1;在会话级别动态修改。
      高性能MySql学习笔记-第三章

    2. 执行完一条语句后,可以通过SHOW PROFILES;命令查看该条语句的性能分析
      高性能MySql学习笔记-第三章

    3. 还是可以通过指定query id 查询具体某个query每个步骤的消耗 , 如:SHOW PROFILE FOR QUERY 1;
      高性能MySql学习笔记-第三章

    4. 如果需要对结果进行一些格式化输出,可有直接访问INFORMATION_SCHEMA中的PROFILING表,如:SELECT * FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID = 1;
      高性能MySql学习笔记-第三章

  • SHOW STATUS命令

    1. SHOW STATUS 命令返回一些数据库操作的执行次数,相当于一个计数器。如果使用SHOW GLOBAL STATUS命令,则可返回自服务器启动时,所有计算的查询次数统计。需要注意的是,部分全局计数器也会出现在SHOW STATUS的结果中,所以不要笃定SHOW STATUS是会话级别的结果。
      高性能MySql学习笔记-第三章
  • SHOW PROCESSLIST命令

    1. SHOW PROCESSLIST可以用来查询线程的状态,以发现是否有大量线程出于不正常的状态。
  • 作者在本章的最后详细讲述了为一个客户排查解决问题的过程,问题的详细原因可能对我们不太有借鉴意义。但是排查问题的思路和意识是值得我们学习的。

上一篇:pprof CPU性能测试


下一篇:ubuntu18.04调整分辨率到1920*1080