标签:
最近在做一个工具网站,刚好看了下人人车的架构经验,看看他们的坑,我想我们的系统应该有个数据库监控和容灾的体系。
上网搜集总结下。
数据库的设计应该是小而美,精而简的,数据库也只是整体项目的一部分,像触发器,存储过程这些能实现的,在整体项目里面肯定也可以用应用程序代码来完成。我们用MySQL,就是用它厉害的地方,比如:表、索引、事务这些,而不是要它所有的功能都得用上。MySQL5.6之前,生产环境的主库里面是不允许使用子查询的。MySQL5.6之前子查询的性能特别差。建议使用mysql5.6以后的mysql数据库
1.一个基础的sql监控,查看执行sql的耗时
(1) 开启profiling参数 : set profiling=1;
(2) 执行sql
(3) 通过执行SHOW PROFILES 命令获取当前系统中保存的多个Query的profile的信息。(可选)
(4 )计算之前执行的sql时间总和:
不过这种方法一般的sql连接工具都会有提示
(mysql-front)
2。开启mysql的query日志,配置日志路径
位置是 mysql.ini
log=C:/AppServ/MySQL/mysql.log
这样mysql的所有sql操作都会记录到这个日志中去。
在linux可以用命令 tail -f /var/log/mysql/mysql.log 进行实时查看
windows没有tail命令可以下载 baretail 工具进行实时查看
标签:
原文地址:http://www.cnblogs.com/yang95/p/5896581.html