漫画:什么是CAS机制?(进阶篇)点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!上一期为大家讲解的CAS机制的基本概念,没看过的小伙伴们可以点击下面的链接:漫画:什么是CAS机制?这一期我们来深入介绍之前遗留的两个问题:Java当中CAS的底层实现CAS的ABA问题和解决方法首先看一看AtomicInteger当中常用的自增方法incrementAndGet:public
分类:
其他好文 时间:
2020-11-20 11:19:10
阅读次数:
4
《挖坑,InnoDB的七种锁》初步说明了InnoDB中,会使用七种不同类型的锁,今天就介绍其中的第一种,自增锁(Auto-incLocks)。一,案例说明MySQL,InnoDB,默认的隔离级别(RR),假设有数据表:t(idAUTO_INCREMENT,name);数据表中有数据:1,shenjian2,zhangsan3,lisi事务A先执行,还未提交:insertintot(name)val
分类:
数据库 时间:
2020-11-17 12:03:43
阅读次数:
13
分布式系统唯一ID生成方案汇总 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。 1. 数据库自增长序列或字段 最常见的方式。利用数 ...
分类:
其他好文 时间:
2020-11-17 11:48:42
阅读次数:
4
行数据批量delete时,InnoDB如何处理自增ID,是一个潜在的大坑。整个实验步骤如上图:第一步:建表,设定自增列;第二步:指定id=1插入,锚定第一行是id是1;第三步:不指定id,依赖自增机制,插入3行;画外音:此时id应该变为2,3,4了?第四步:delete删除所有记录;画外音:坑就容易出在这里。第五步:指定id=0插入;第六步:指定id=1插入;第七步:不指定id,依赖自增机制,插入
分类:
其他好文 时间:
2020-11-16 13:11:46
阅读次数:
4
MySQL数据库--学生管理系统数据库手写SQL实现 学生对象 > 学生表(student) 老师对象 > 老师表(teacher) 课程对象 > 课程表(course) 成绩对象 > 成绩表(score) 班级对象 > 班级表(前缀_class,因为user或class等英文单词是程序中的关键字. ...
分类:
数据库 时间:
2020-11-07 15:59:33
阅读次数:
27
问题描述 上次面试中被问到Mybatis中使用insert后返回自增id怎么操作,当时只知道可以返回被修改的行数,并不知道可以将插入/修改的内容的主键id映射到使用的对象中,后续查阅资料才知道有这样的功能。。 方法有两种 xml/注解 User.java: public class User { p ...
分类:
其他好文 时间:
2020-11-04 18:41:14
阅读次数:
21
引言近期由于复习了一下mysql的内容,有些心得。随手讲其中一部分知识,都是一些烟哥自己平时工作的总结以及经验。大家看完,其实能避开很多坑。而且很多问题,都是面试中实打实会问到的!比如OK,具体有下面这些问题1、为什么一定要设一个主键?2、你们主键是用自增还是UUID?3、主键为什么不推荐有业务含义?4、表示枚举的字段为什么不用enum类型?5、货币字段用什么类型?6、时间字段用什么类型?7、为什
分类:
数据库 时间:
2020-11-01 21:04:33
阅读次数:
26
引言在面试中,大家应该经历过如下场景面试官:"用过mysql吧,你们是用自增主键还是UUID?"你:"用的是自增主键"面试官:"为什么是自增主键?"你:"因为采用自增主键,数据在物理结构上是顺序存储,性能最好,blabla..."面试官:"那自增主键达到最大值了,用完了怎么办?"你:"what,没复习啊!!"(然后,你就可以回去等通知了!)这个问题是一个粉丝给我提的,我觉得挺有意(KENG)思(B
分类:
其他好文 时间:
2020-11-01 21:01:35
阅读次数:
12
B+树,经过优化的 B+树 主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建 议为大部分表使用默认自增的主键作为主索引。 ...
分类:
其他好文 时间:
2020-10-30 11:54:04
阅读次数:
14
mybatisplus之主键生成策略 mybatisplus支持多种主键生成策略,默认采用认 ID_WORKER 即雪花算法 雪花算法 snowflflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个b ...
分类:
其他好文 时间:
2020-10-30 11:45:19
阅读次数:
13