《挖坑,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
Case1MySQL,InnoDB,默认的隔离级别(RR),假设有数据表:t(idPK,name);数据表中有数据:10,shenjian20,zhangsan30,lisi事务A先执行,还未提交:insertintotvalues(11,xxx);事务B后执行:insertintotvalues(12,ooo);问:事务B会不会被阻塞?Case2MySQL,InnoDB,默认的隔离级别(RR),
分类:
数据库 时间:
2020-11-17 12:03:25
阅读次数:
13
MySQL5.6,应该实现在最流行的版本吧?很遗憾有一些功能一直没有,例如:哈希索引T-tree索引原生高可用auto-sharding...画外音:你最希望看到支持什么特性?但,5.6版本中,InnoDB有些有意思的特性,或许是大伙还不清楚的。从这个版本开始,可以支持全文索引了。altertable可以不拷贝表了,且不阻塞写操作,onlineDDL,酷炫吧。画外音:并不是所有的altertabl
分类:
数据库 时间:
2020-11-17 12:03:10
阅读次数:
10
《InnoDB行锁,如何锁住一条不存在的记录?》埋了一个坑,没想到评论反响剧烈,大家都希望深挖下去。原计划写写InnoDB的锁结束这个case,既然呼声这么高,干脆全盘系统性的写写InnoDB的并发控制,锁,事务模型好了。体系相对宏大,一篇肯定写不完,容我娓娓道来,通俗地说清楚来龙去脉。一、并发控制为啥要进行并发控制?并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并
分类:
数据库 时间:
2020-11-17 12:02:54
阅读次数:
12
《InnoDB,5项最佳实践,知其所以然?》发布后,不少同学留言希望讲讲MySQL的InnoDB行锁机制。要细聊MySQL的行锁,难以避免的要从事务的四种隔离级别说起。四种隔离级别,又脱不开聊读脏,不可重复读,读幻象等问题。事务隔离级别,行锁机制等都比较垂直,应用开发中大部分同学都用不到,不确定是否大部分朋友都感兴趣。今天,先抛出一个问题,如果大家确定对这类话题感兴趣的话,后续我花时间细聊这一系列
分类:
数据库 时间:
2020-11-17 12:02:33
阅读次数:
10
缓存讲了一个月《缓存架构,一篇足够》。今天,开始写数据库。第一篇,说说MySQL两个最常用的存储引擎,MyISAM和InnoDB。照自己的理解,把一些知识点总结出来,不只说知识点,多讲“为什么”。一、关于count(*)知识点:MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。潜台词是,对于selectcount(*)fromt;如果数据量大,MyISAM会瞬间返回,而InnoDB则
分类:
数据库 时间:
2020-11-17 12:02:15
阅读次数:
8
架构师之路年终总结(七)-MySQL篇今年(去年)写了几万字关于MySQL的文章,年终稍作总结,希望对大家有帮助。1.索引到底是怎么实现的?这两篇文章很重要,讲解MySQL索引底层实现,也是阅读量最高的几篇之一。《数据库索引,到底是什么做的?》这一篇,介绍了哈希索引,树索引,数据预读/局部性原理,B+树的优化思路。《MyISAM与InnoDB的索引差异究竟是啥?》在上一篇基础之上,用图例讲述了My
分类:
数据库 时间:
2020-11-16 13:54:38
阅读次数:
11
行数据批量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
一、视图 1.1 视图的概念 ? 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表成为基表。视图是存储在数据字典里面的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合 1.2 视图的优点 1、对数据库的访问,因为视图可以有 ...
分类:
数据库 时间:
2020-11-13 12:26:46
阅读次数:
16
常用的存储引擎有以下: Innodb引擎:Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。 MyIASM引擎(原本Mysql的默认引擎):不提供事务的支持,也不支持行级锁和外键。 MEMORY引擎:所有的数据都在内存中, ...
分类:
数据库 时间:
2020-11-12 14:01:35
阅读次数:
9