搜索网站定制公司,山东淄博微信网站制作,买好域名后怎么做网站,网页制作与设计课本文章目录 第一节、数据库服务器的优化步骤第二节、查看系统性能参数第三节、 慢查询日志第四节、 查看 SQL 执行成本第五节、 分析查询语句#xff1a;EXPLAIN 第一节、数据库服务器的优化步骤
当我们遇到数据库调优问题的时候#xff0c;可以按照以下流程进行分析。整个流程… 文章目录 第一节、数据库服务器的优化步骤第二节、查看系统性能参数第三节、 慢查询日志第四节、 查看 SQL 执行成本第五节、 分析查询语句EXPLAIN 第一节、数据库服务器的优化步骤
当我们遇到数据库调优问题的时候可以按照以下流程进行分析。整个流程划分成了 观察Show status 和 行动Action 两个部分。字母 S 的部分代表观察会使用相应的分析工具字母 A 代表的部分是行动对应分析可以采取的行动。
第二节、查看系统性能参数
在MySQL中可以使用 SHOW STATUS 语句查询一些MySQL数据库服务器的 性能参数 、 执行频率 。
SHOW [GLOBAL|SESSION] STATUS LIKE 性能参数;性能参数包括
Connections连接MySQL服务器的次数UptimeMySQL服务器的上线时间Slow_queries慢查询的次数Innodb_rows_readSelect查询返回的行数Innodb_rows_inserted执行INSERT操作插入的行数Innodb_rows_updated执行UPDATE操作更新的行数Innodb_rows_deleted执行DELETE操作删除的行数Com_select查询操作的次数Com_insert插入操作的次数。对于批量插入的 INSERT 操作只累加一次Com_update更新操作的次数Com_delete删除操作的次数last_query_cost一条SQL查询语句在执行前需要确定查询执行计划如果存在多种执行计划的话MySQL会计算每个执行计划所需要的成本从中选择成本最小的一个作为最终执行的执行计划,如果我们想要查看某条SQL语句的查询成本可以在执行完这条SQL语句之后通过查看当前会话中的last_query_cost变量值来得到当前查询的成本。它通常也是我们评价一个查询的执行效率的一个常用指标。这个查询成本对应的是 SQL语句所需要读取的页的数量。
第三节、 慢查询日志 目前公司里有DBA做这些事情如果以后有需要再详细学习。MySQL的慢查询日志用来记录在MySQL中响应时间超过阀值的语句。具体指运行时间超过long_query_time值的SQL会被记录到慢查询日志中。long_query_time的默认值为10意思是运行10秒以上不含10秒)的语句认为是超出了我们的最大忍耐时间值。|它的主要作用是帮助我们发现那些执行时间特别长的SQL查询并且有针对性地进行优化从而提高系统的整体效率。当我们的数据库服务器发生阻塞、运行变慢的时候检查一下慢查询日志找到那些慢查询对解决问题很有帮助。比如一条sql执行超过5秒钟我们就算慢SQL希望能收集超过5秒的sql结合explain进行全面分析。默认情况下MySQL数据库没有开启慢查询日志需要我们手动来设置这个参数。如果不是调优需要的话一般不建议启动该参数因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件。
第四节、 查看 SQL 执行成本
Show Profile是MysQL提供的可以用来分析当前会话中SQL都做了什么、执行的资源消耗情况的工具可用于sql调优的测量。默认情况下处于关闭状态并保存最近15次的运行结果。 如上图可以看到一条SQL语句执行过程中的各个步骤以及每个步骤的耗时。还可以添加查询参数比如cpu。 第五节、 分析查询语句EXPLAIN