数据库
文章平均质量分 81
「已注销」
这个作者很懒,什么都没留下…
展开
-
搞不拎清的锁
锁Java锁公平锁/非公平锁公平锁指多个线程按照申请锁的顺序来获取锁非公平锁指多个线程不按照顺序获取锁,有可能后申请的线程比先申请的线程先获得锁。吞吐量比公平锁大,但是有可能造成优先级翻转或者饥饿现象new ReentrantLock() // 非公平锁new ReentrantLock(true) // 公平锁synchronized // 非公平锁可重入锁又名递归锁,指同一个线程在外层方法获取锁的时候,进入内层方法会自动获取锁。ReentrantLock原创 2021-08-18 01:09:00 · 177 阅读 · 0 评论 -
Mysql-BinLog,RedoLog,UndoLog傻傻分不清
BinLog,RedoLog,UndoLog傻傻分不清我们先看下5.7 innodb的磁盘存储结构1. UndoLog是实现innodb MVCC的重要组成部分概述:Undolog :事务开始之前,将修改的记录放到Undo日志中,当事务回滚或者数据库崩溃时,利用Undo日志,撤销未提交事务对数据库产生的影响Undolog 产生和销毁: Undo log在事务开始前产生;事务在提交时,并不会立刻删除undo log,innodb会将事务对应的undolog 放到删除列表中,后面会通过原创 2021-08-15 21:31:33 · 290 阅读 · 0 评论 -
MysqlDriver日期问题
背景:最近接触到一个新项目,在插入数据时发现插入的时候不正确。于是有了以下探究历程。项目后台使用的是jdbcTemplate:对应插入时间字段mysql类型:datetime插入时使用java 中 new Date(),之后交由jdbcTemplate 进行数据插入操作。问题:首先通过debug 确认 newDate() 生成时间正确为本地时间。开始怀疑是不是jdbcTemplate里面出了什么幺蛾子。// jdbctemplate 执行插入语句入口public int[]原创 2020-09-05 11:35:20 · 450 阅读 · 0 评论 -
Mysql-查询缓存,BufferPool傻傻分不清
查询缓存?BufferPool?1、查询缓存我们先了解下Mysql的层级划分我们再了解下,Mysql5.6之前的查询流程(5.6默认禁用 8之后Mysql已经移除了查询缓存)通过上面两个图我们可以给出下面关于查询缓存的定义MySQL Server首选会从查询缓存中查看是否曾经执行过这个SQL,如果曾经执行过的话,之前执行的查询结果会以Key-Value的形式保存在查询缓存中。key是SQL语句,value是查询结果。我们将这个过程称为查询缓存!根据层级我们可以看到 查询缓存是处于 ser原创 2021-08-15 00:22:38 · 470 阅读 · 0 评论