如何捕获MySQL数据库中的低效SQL语句:
面对业务的迅猛发展,DBA的一项重要工作就是及时发现数据库中的低效SQL语句,有的可以立刻着手解决(比如缺少合适的索引),有的需要尽快反馈给开发人员进行修改。
MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句:
1,slow_query_log
这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。
2,long_query_time
当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。
3,slow_query_log_file
记录日志的文件名。
4,log_queries_not_using_indexes
这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快。
配置好上述几个参数后,我们就可以监视日志,然后着手进行解决了。
来自:http://www.zeuux.com/group/himysql/bbs/content/55137/
中小型MySQL数据库集群方案:
对于中小型MySQL数据库集群,有以下几个特点或需求:
1,数据库写入操作并不密集,单台服务器足以支持。
2,数据库读取操作频繁,需要能够轻松扩展。
3,业务对数据库依赖性强,对于数据库的可用性有较高的要求。
4,应用普遍已经支持数据库读写分离。
5,要求架构简单,不能引入复杂或者不可靠的技术组件。
针对这些特点和需求,我认为合适的架构如下:
1,数据库主库采用DRBD磁盘复制方案,并配合Heartbeat来达到HA的效果。
2,多台数据库辅库使用DR模式的LVS来达到负载均衡和HA的效果。
这样的架构简单且可靠,我认为是中小型MySQL数据库集群比较理想的方案。
你觉得呢?
来自:http://www.zeuux.com/group/himysql/bbs/content/55127/
面对业务的迅猛发展,DBA的一项重要工作就是及时发现数据库中的低效SQL语句,有的可以立刻着手解决(比如缺少合适的索引),有的需要尽快反馈给开发人员进行修改。
MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句:
1,slow_query_log
这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。
2,long_query_time
当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。
3,slow_query_log_file
记录日志的文件名。
4,log_queries_not_using_indexes
这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快。
配置好上述几个参数后,我们就可以监视日志,然后着手进行解决了。
来自:http://www.zeuux.com/group/himysql/bbs/content/55137/
中小型MySQL数据库集群方案:
对于中小型MySQL数据库集群,有以下几个特点或需求:
1,数据库写入操作并不密集,单台服务器足以支持。
2,数据库读取操作频繁,需要能够轻松扩展。
3,业务对数据库依赖性强,对于数据库的可用性有较高的要求。
4,应用普遍已经支持数据库读写分离。
5,要求架构简单,不能引入复杂或者不可靠的技术组件。
针对这些特点和需求,我认为合适的架构如下:
1,数据库主库采用DRBD磁盘复制方案,并配合Heartbeat来达到HA的效果。
2,多台数据库辅库使用DR模式的LVS来达到负载均衡和HA的效果。
这样的架构简单且可靠,我认为是中小型MySQL数据库集群比较理想的方案。
你觉得呢?
来自:http://www.zeuux.com/group/himysql/bbs/content/55127/
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/6815/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表