MySQL慢查询日志 – Slow Query Log

The Slow Query Log,也就是MySQL的慢查询日志,其记录了执行时间超过设定值的SQL,也可以记录不使用索引的SQL语句。慢查询日志,能够帮助DBA快速锁定性能异常的SQL语句,然后进行优化工作,以保障MySQL数据库的正常运行。 慢查询日志记录了两部分SQL: 1、SQL查询时间超过变量 long_query_time 设定值,默认10秒。 2、SQL返回行数大于 min_exa

Read more

mysqldumpslow – 读懂MySQL慢查询日志

一、慢查询日志介绍 MySQL中,SQL的执行效率直接影响了MySQL的性能。为了便于DBA及时发现并处理有性能异常的SQL,MySQL专门设立了慢查询日志(slow query log)。SQL执行时间大于long_query_time设定的时候,MySQL就会将这条SQL记录到慢查询日志中。 MySQL慢查询日志既可以保存成文件,又可以保存在MySQL的表中。由于保存在表中,会给数据库带来额外

Read more

MySQL EXPLAIN EXTENDED

查询MySQL SQL语句的执行计划,一般都是EXPLAIN SQL_STATMENT。EXPLAIN EXTENDED比EXPLAIN查询出的结果多了filtered列,filtered列展示了表的过滤条件过滤后预估的百分比,这给DBA优化工作带来了一定程度的判断根据。 EXPLAIN EXTENDED的结果中,会有warning提示,通过show warnings\G命令,可以看到优化器对原有

Read more

MySQL预热InnoDB Buffer Pool缓冲池

在生产中,重启MySQL后,会发现一段时间内SQL性能变差,然后最终恢复到原有性能。这是因为MySQL经常操作的热点数据都已经缓存到InnoDB Buffer Pool中,重启后,需要将热点数据逐渐缓存到 InnoDB Buffer Pool中,从磁盘读取数据自然没有从内存读取数据快。 MySQL重启后,将热点数据逐渐缓存到 InnoDB Buffer Pool的过程称为预热(warmup)。让应

Read more

MySQL快速导入/插入大量数据

在工作中,经常遇到将大量数据插入、导入到MySQL数据库中,本文介绍如何高效完成导入、插入操作。 优化insert操作的速度,需要将多个小的操作合成一个大的操作。理想状态:只做一次连接;一次发送所有数据;延迟索引更新和一致性校验,直到insert结束再做。 insert操作各部分占的比例:

使用下列办法可以提高insert速度: 使

Read more