mysql高级工具

1、慢查询日志

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。

默认情况下,MySQL数据库没有开启慢查询日志 ,需要我们手动来设置这个参数。 

当然,如果不是调优需要的话,一般不建议启动该参数 ,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件 。

查看是否开启:SHOW VARIABLES LIKE '%slow_query_log%'; 

开启:使用set global slow_query_log=1,开启了慢查询日志 只对当前数据库生效。

设置慢的阙值时间:set  long_query_time=1 

查看当前多少秒算慢:SHOW VARIABLES LIKE 'long_query_time%';

MySQL提供了日志分析工具mysqldumpslow,使用这个命令可以进行具体分析。

2、视图

将一段查询sql封装为一个虚拟的表。 这个虚拟表只保存了sql逻辑,不会保存任何查询结果。

使用场景:很多地方可以共用的一组查询结果;报表

语法:

创建:

 CREATE VIEW view_name  

AS 

SELECT column_name(s) 

FROM table_name 

WHERE condition 

查询:

select * from view_name  

更新:

 CREATE OR REPLACE VIEW view_name  

AS 

SELECT column_name(s) 

FROM table_name 

WHERE condition

3、主从复制

slave会从master读取binlog来进行数据同步

步骤:

1)master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events

2)slave将master的binary log events拷贝到它的中继日志(relay log)

3)slave重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL复制是异步的且串行化的

复制的最大问题是延时。

 

你可能感兴趣的:(Skill)