一次数据库问题优化

  最近连续几天,mysql数据库会运行中假死,记录一下排查过程。mysql

一、在数据库相应缓慢的时候,用client链接上去,执行show processlist 命令,sql

查看是哪条语句执行缓慢,或者哪些语句执行缓慢。查询结果会列出当前正在执行哪些语句,以及执行了多长时间,当前执行状态等信息。数据库

二、检查缓慢语句设计的表和字段,判断是否表数据量过大,或者查询条件的字段须要加索引。函数

三、检查是否有存储过程或者函数设计到DDL语句,DDL操做会产生metadatalock,建议业务低峰期操做。设计

基本上按照上面三条检查排除能解决一大部分的常见问题了。日志

好比,咱们此次是因为日志log表数据量过大,超过800W了。致使不少数据统计相关联查询语句执行缓慢,按照惯例是须要半年把历史数据迁移到历史库去,避免常常查询的表数据过大。索引

相关文章
相关标签/搜索