数据库
a616413086
这个作者很懒,什么都没留下…
展开
-
mysql悲观锁总结和实践
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制转载 2016-08-16 16:52:13 · 349 阅读 · 0 评论 -
mysql乐观锁总结和实践
上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有了乐观锁,具体参见下面介绍:转载 2016-08-16 16:55:20 · 314 阅读 · 0 评论 -
数据库并发访问、事务与锁的关系
一、事务I : 事务的定义:首先,让我们了解下什么是事务?事务是作为单个逻辑单元工作执行的一系列操作。可以是一条 sql 语句,也可以是多条 sql 语句 ( 这是它的描述性定义 ) 。II 事务的特性:1 )原子性 (Atomic) :指整个数据库事务是不可分割的工作单位。2 )一致性 (Consistency) :指数据库事务不能破坏关系数据的完整性以及业务逻辑的一致性。转载 2016-03-31 10:53:34 · 2647 阅读 · 0 评论 -
MySQL行级锁、表级锁、页级锁详细介绍
页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , 单独的一行记录加锁表级,直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许行级,,仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。页级,表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了转载 2016-03-31 10:47:07 · 382 阅读 · 0 评论 -
mysql MYISAM INNODB 引擎比较
1.索引结构不同MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM索引的原理图:这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意。可以看出MyISAM的索引文件仅仅保存数据记录的地址。在MyISAM转载 2016-08-21 12:32:46 · 321 阅读 · 0 评论