DeathWhispers

MySQL 一键巡检脚本!再也不用自己梳理了

MySQL 运维很关键!了解数据库基本配置和性能状态,是确保其稳定运行的重要环节。深入知晓 MySQL 配置项、连接数、Binlog、GTID、InnoDB 等关键参数,能更好掌握运行情况,提前发现潜在问题。 本文介绍用一系列 SQL 查询语句快速获取 MySQL 基本配置、连接数、Binlog 和 GTID 配置以及 InnoDB 配置信息和监控指标。还提供简便脚本,一键获取所有信息,为...

MySQL 的锁机制

锁分类 从性能上分为乐观锁(用版本对比来实现)和悲观锁对数据库操作类型分为读锁和写锁(都属于悲观锁) 读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会相互影响写锁(排他锁):当前写操作没有完成之前,它会阻断其他写锁和读锁从对数据操作的粒度分为表锁和行锁 表锁 每次操作锁住整张表。开销小,加锁快;不会出现死锁;锁定粒度大,发生冲突的概率最高,并发度最低 间隙锁 但我们使...

Preconditions 优雅的检验参数

Preconditions 优雅的检验参数 在日常开发中,我们经常会对方法的输入参数做一些数据格式上的验证,以便保证方法能够按照正常流程执行下去。对于可预知的一些数据上的错误,我们一定要做事前检测和判断,来避免程序流程出错,而不是完全通过错误处理来保证流程正确执行,毕竟错误处理是比较消耗资源的方式。在平常情况下我们对参数的判断都需要自己来逐个写方法判断,代码量不少并且复用性不高,如下所示:...