mysqldumpslow

MySQL下bin-log的三种模式(ROW、Statement、Mixed)

天涯浪子 提交于 2020-03-05 23:13:16
MySQL的bin-log日志备份有三种模式,分别是: ROW、Statement、Mixed 一、Row 基于行的复制(row-based replication,RBR) 日志中会记录成每一行数据被修改成的形式,然后在slave端再对相同的数据进行修改,只记录要修改的数据,只有value,不会有sql多表关联的情况。 优点: 在row模式下,bin-log中可以不记录执行的sql语句的上下文相关信息,仅仅需要记录哪一条记录被修改了,修改成什么信样了,所以row的日志内容会非常清楚的记录下每一行数据修改的细节,非常容易理解。而且不会出现在某些特定情况下的存储过程和function,以及trigger的调用和处罚无法被正确问题。 缺点:在row模式下,所有执行的语句当记录到日志中的时候,都将以每行记录的修改来记录,这样可能会产生大量的日志内容。 二、Statement 基于SQL语句的复制(statement-based replication,SBR) 每一条会修改数据的sql都会记录到master的binlog中,slave在的时候sql进程会解析成和原来master端相同的sql再执行。 优点: 在Statement模式下首先就是解决了row模式下的缺点,不需要记录记录每一行日志的变化,减少了bin-log日志量,节省了I/O以及存储资源,提高性能

mysqldumpslow: What does these fields indicate..?

淺唱寂寞╮ 提交于 2019-12-12 18:06:55
问题 Recently we have started on optimizing live slow queries. As part of that, we thought to use mysqldumpslow to prioritize slow queries. I am new to this tool. I am able to understand some basic info, but I would like to know what exactly the below fields in the out put will tell us. OUTPUT: Count: 6 Time=22.64s (135s) Lock=0.00s (0s) Rows=1.0 (6) What about the below fields ? Time : Is it the average time taken of all these 6 times of occurance...? 135s : What is this 135 seconds....? Rows=1.0