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