数据库
文章平均质量分 64
w_tt
这个作者很懒,什么都没留下…
展开
-
Redis实现Mybatis的二级缓存
一、Mybatis 缓存机制 1、一级缓存:√\color{#FF7D00}{√}√ 默认开启,存在于 SqlSession 的生命周期中,Mybatis 会把执行的方法和参数通过算法生成缓存的键值对,并和查询结果存入一个 map 中,如果同一个 SqlSession 中执行的方法和参数完全一致时,通过算法生成相同的键值对,并在 map 中查找发现已存在,则会返回缓存中的对象。任何 insert、update、delete 操作都会清空一级缓存。√\color{#FF7D00}{√}√ 一般的我原创 2021-05-20 14:45:06 · 759 阅读 · 1 评论 -
踩坑记录:for update死锁问题
问题描述:事务1事务2begin;begin;select * from sys_test where id = ‘1’ for update;select * from sys_test where id = ‘2’ for update;insert into sys_test(id) values(1);锁等待中insert into sys_test(id) values(2);锁等待解除死锁,事务2的事务被回滚解决:r原创 2021-11-25 16:34:29 · 1405 阅读 · 0 评论 -
Mysql的几种索引分析
一、为什么用 B+ 树做索引而不用哈希表做索引? √\color{#FF7D00}{√}√ 哈希表是把索引字段映射成对应的哈希码然后再存放在对应的位置,这样的话,如果我们要进行模糊查找的话,显然哈希表这种结构是不支持的,只能遍历这个表。而B+树则可以通过最左前缀原则快速找到对应的数据。√\color{#FF7D00}{√}√ 如果我们要进行范围查找,例如查找ID为100 ~ 400的人,哈希表同样不支持,只能遍历全表。√\color{#FF7D00}{√}√ Hash冲突,会导致出现很长的链表,导致原创 2021-06-11 16:00:00 · 153 阅读 · 0 评论