mysql占用内存高的一种解决方法
top命令看到,5000和6000 mysql实例 分别占用内存54G:75361 mysql 20 0 239.5g 54.6g 11120 S 365.6 21.7 307944:06&n
把in改成exists后,执行速度从小时到秒级
有个in语句,执行时间需要小时级别,改成exists后,10秒出结果,以下是详细情况,在此记录一下。参考文档:https://blog.csdn.net/weixin_41979002/article/details/118730611
mysql 字符串和数字比,字符串会隐式转换为数字0
在mysql中,字符串和数字比,字符串会被转成数字0。下面我演示:mysql> create table t (a int primary key, b int,c int, d int, index idx_b_c_d (b,c,d));
MySQL NOT NULL列用 WHERE IS NULL 也能查到数据的原因
现象sql用where is null查出的结果,和我们预期不符,如下:mysql> select * from t where create_time is null; +----+----------+---------------------+ | id | n
mysql DDL时锁表的排查
select id,USER,USER,time,left(info,10),state from information_schema.processlist where state like '%Waiting for %' order by time desc ;
mysql数据库磁盘io高的排查
最近,数据库会报磁盘IO高的告警,但是cpu不高。故障 ● 主机名称: xxxx● 告警信息: Disk I/O is overloaded on xxxx ● 告警时间: 2020.04.10-13:09:06 ● 主机地址: xxxxxx● 当前状态: 36.14 % 数据库磁盘io高时,执行的sql
当数据库里面的价格变化时,发送信息到企业微信中
需求一 添加insert触发器,在insert一条新纪录时,当主单号不为空,并且新增价格和最近一次价格对比不相等时,说明价格有变化。这时触发器会自动将上一次老价格添加到当前新增行的unit_price_old老价格列。 这个需求是在一个表上,更新自己身上的其他列,这时需要用before,并且set new.列名
gh-ost的学习
公司内部一直使用的online ddl工具是pt-online-schema-change,今天准备尝试一下另外一个工具gh-ost。 我根据百度出的文档进行学习,下面总结成自己的知识。 gh-ost 是 gitHub,s Online Schema Tran
TIDB和MySQL性能对比
最近对比TiDB和MySQL在大表复杂join方面,TiDB比MySQL快很多(至少三倍),这应该得益于TiDB的 分布式架构,把逻辑计算下推到各个数据节点并行执行导致的。
查看mysql运行状态的一些sql
声明:本文内容是笔者阅读《千金良方 MySQL性能优化金字塔法则》后整理的笔记查看最近的top sql 通过performance_schema.events_statements_history表,查看数据库最近执行的一些sql语句:(root@localhost)[(none)]> S
一个慢SQL优化建议
现象目前whm数据库的磁盘io太高,究其原因是某条慢sql导致的。观察最近一星期whm库的磁盘io,其iowait一直都维持在50%:数据库中有大量的慢SQL,几乎都是和waybill表有关:慢sql原始慢SQL:source: ygjt_new@'172.16.12.120'explain SELECT MAIN_NO AS mainNo, LOGISTI
对机械硬盘和SSD固态硬盘IOPS、吞吐量的压测对比
近期利用sysbench对我们的机械硬盘和固态硬盘的iops、吞吐量进行了压测对比。 环境:分别测试intel的SSD固态硬盘和机械硬盘。  
给从库预热innodb buffer pool
最近在生产上做了一个mysql主从切换的操作,当从库提升为主后,发现从库一开始压力异常大,分析原因应该是从库的innodb_buffer_pool的热数据没有立即加载进来,导致发生大量磁盘读了。我们的innodb_buffer_pool设置大小为42G,所以大约持续了100分钟,才使得业务恢复正常。 后来想想应该可以把主库innodb
查看MySQL锁等待的原因
--sys库的介绍 mysql 5.6也可以有sys库(基于performance_schema的视图)。sys库是一个开源项目,在githup上早就有,是一个DBA的开源工具,后来mysql感觉好,就放在了mysql5.7上。 下载地址:https://github.com/mysql/mysql-sys
mysql 5.7中崭新的 mysql sys schema
mysql 5.7中崭新的 mysql sys schema声明:本文内容来自于《MySQL运维内参》,笔者读后整理的笔记,仅供学习使用。以下内容都是MySQL 5.7的新功能一、 Performance Schema的改进1、元数据库锁select * from performance_schema.metadata_locks;通过该表可以看到:a)、哪些会话拥有元数据...
MySQL数据库压力测试报告
MySQL数据库压力测试报告 1 压力测试环境 1.1 服务器配置 类别 名称...
MySQL数据库OOM故障报告
MySQL数据库OOM故障报告 故障描述2017年5月23日10:43分,MySQL生产库的vip 10.72.16.1突然漂移到备库上,但是vip在备库上并没有对外提供服务,从而造成所有MySQL项目出现业务中断。 2 故障造成的影响和范围 ...
把not in 改成not exists后的优化
把not in 改成not exist后的优化近期,OA数据库里面存在一条慢SQL,其执行时间为3分16秒。这条慢SQL语句每个月可能会运行几次,但其运行后,总会导致数据库CPU利用率飙升。然后我就对这个慢SQL语句进行了改写测试,改写后的运行时间降为13s(虽然还是很慢,但已经速度提升了18倍)。...
MYSQL自动发送慢SQL给开发人员的脚本
MYSQL自动发送慢SQL给开发人员的脚本最近,我写了个脚本,就是当mysql数据库cpu平均5分钟负载高于18时,自动分析最近5分钟内的慢sql,并把慢sql发送给相应开发人员进行优化。[root@MySQL02 ~]# cat /usr/local/script/send_slow_sql.sh #!/bin/bashtop5=`uptime |awk ...
mysql备库和主库同步有延迟的问题是缺少索引引起的
mysql备库和主库同步有延迟的问题是某张表缺索引 昨天下午14:00,14:30,15:00和15:30,共出现4次从库179和主库有延迟的情况,延迟时间平均在50s左右。 在出现问题时,管理员登陆数据库服务器,发现从库179在顺序执行类似如...