
mysql
文章平均质量分 95
BLF2
这个作者很懒,什么都没留下…
展开
-
mysql慢日志分析,执行计划
Mysql慢日志分析,资源消耗监控,执行计划慢日志Mysql提供了慢日志记录,可以监控执行时间超过设定值的sql,并予以记录。查看是否开启了慢查询日志:show variables like '%slow%';show variables like '%long_query_time%';可以看到慢查询日志的状态slow_query_log是OFF,是关闭状态,slow_query_log_file是慢日志文件存储位置,long_query_time是超过多少秒视为慢查询,默认是10秒。原创 2021-08-08 17:12:01 · 1284 阅读 · 0 评论 -
mysql的undo log、redo log、binlog和MVCC
Mysql的undo log、redo log、binlog和MVCC本文试图解释undo log,redo log,bin log的作用,以及Innodb的MVCC机制undo logundo log 记录的是sql语句执行更新前的数据,这里的更新是泛指,除了select其它都算更新。在读已提交和可重复读的隔离级别下,会记录事务中某条数据的修改版本链,用来支持MVCC,详细参考MVCC章节。redo logredo log的设计是为了提高性能,如果没有redo log,数据库更新一条数据的过程大原创 2021-06-14 16:49:58 · 535 阅读 · 4 评论 -
事务的ACID,隔离级别,脏读,幻读和不可重复读
事务的ACID原子性(atomicity)一个事务中执行的sql语句,要么全部成功,要么全部失败,不可能一部分成功。一致性(consistency)事务执行前和执行后数据一致,也就是说事务中的sql语句不能只执行一部分。这种请款一般发生在事务异常中断,服务器异常宕机,此时需要保证正在执行的事务在数据库重启后要进行提交或回滚操作。隔离性(isolation)多个事务执行过程中不互相干扰。持久性(durability)事务提交成功后永久保存在磁盘,不能出现事务提交成功后,数据没保存情况,异常宕原创 2021-06-07 23:47:47 · 722 阅读 · 8 评论 -
使用Redis锁处理数据库并发问题
缘起数据库描述:字段类型约束备注idintPK自增主键当前系统客户id字符串UNIQUE_INDEX由当前系统生成调用方系统客户id字符串UNIQUE_INDEX由调用方生成姓名字符串NOT NULL性别字符串NOTNULLF-女 N-男其它业务字段问题无关,不再描述存在此场景:某个用户接口提供查询和保存功能,调用方传入用户信息查询条件,若是存在此用户,则返回查询到的业务主键(此主键在应用内生成),如果未查询原创 2020-07-17 15:37:19 · 646 阅读 · 0 评论 -
通过线程知识理解和记住数据库隔离级别
理解和记住数据库隔离级别数据库的隔离级别其实就是两条线程进行操作同一条数据可能会出现的情况,通过线程的知识可以很好的理解。repeatable read 可重复读线程b在读取一条数据,线程a提交了事务,线程b读到的依旧是线程a未提交事务之前的数据,这是mysql默认隔离级别。简单的讲就是b多次读a提交事务b读不到a提交的数据read uncommitted 读未提交线程b...原创 2020-02-10 17:12:54 · 357 阅读 · 0 评论 -
mysql 使用游标
缘起因为数据库字段名字和意义被改变,里面已有数据,需要把数据修正,具体业务逻辑不再赘述,这里记录一般游标如何使用。代码意义都写在注释里面了。-- 声明存储过程DROP PROCEDURE IF EXISTS test1;-- 定义 // 代替 ; 因为解释器遇到分号就会解释-- 我们希望一个存储过程从头一直走到尾 所以用//代替;delimiter //CREATE PROCEDU...原创 2019-02-25 15:11:11 · 944 阅读 · 0 评论