事务ACID特性,其中I代表隔离性(Isolation)。 什么是事务的隔离性? 隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。 一个事务...
InnoDB并发插入,居然使用意向锁?
《插入InnoDB自增列,居然是表级别锁?》介绍了InnoDB所使用的七种锁中的一种,自增锁。 今天,将要介绍InnoDB另外三种:共享/排他锁,意向锁,插入意向锁。 一,共享/排它锁(Shared and Exclusive Locks) 《I...
插入InnoDB自增列,居然是表锁?
《挖坑,InnoDB的七种锁》初步说明了InnoDB中,会使用七种不同类型的锁,今天就介绍其中的第一种,自增锁(Auto-inc Locks)。 一,案例说明 MySQL,InnoDB,默认的隔离级别(RR),假设有数据表: t(id AUTO_...
InnoDB的七种锁
Case 1 MySQL,InnoDB,默认的隔离级别(RR),假设有数据表: t(id PK, name); 数据表中有数据: 10, shenjian 20, zhangsan 30, lisi 事务A先执行,还未提交: insert into t values(11, xxx); ...
InnoDB,select为啥会阻塞insert?
MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。 一,InnoD...
InnoDB并发如此高,原因竟然在这?
《InnoDB行锁,如何锁住一条不存在的记录?》埋了一个坑,没想到评论反响剧烈,大家都希望深挖下去。原计划写写InnoDB的锁结束这个case,既然呼声这么高,干脆全盘系统性的写写InnoDB的并发控制,锁,事务模型好...
InnoDB行锁,如何锁住一条不存在的记录?
《InnoDB,5项最佳实践,知其所以然?》发布后,不少同学留言希望讲讲MySQL的InnoDB行锁机制。要细聊MySQL的行锁,难以避免的要从事务的四种隔离级别说起。 四种隔离级别,又脱不开聊读脏,不可重复...
InnoDB,5项最佳实践,知其所以然?
今天,开始写数据库。 第一篇,说说MySQL两个最常用的存储引擎,MyISAM和InnoDB。照自己的理解,把一些知识点总结出来,不只说知识点,多讲“为什么”。 一、关于count(*) 知识点:MyISAM会直接存储总行数,...
MySQL索引外置
一、缘起 (1)流量数据量由小到大,常见搜索方案与架构变迁 (2)数据量、并发量、扩展性方案 只要业务有检索需求,本文一定对你有帮助。 二、检索需求的满足与架构...
linux使用snat转发的问题
适用场景 在多台主机的情况下,仅有一台主机能够访问外网。为了使很多主机都可以访问外部网络的情况下使用。 期初,我也认为这种场景几乎不可能出现的,除非有特殊的应用场景才可能。其实这种情况其实非常多...