代码小兵696
程序员
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(IndexedSequentialAccessMethod:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。InnoDB,是MySQL的数据库引擎之一,为MySQLAB发布binary的标准之一。InnoDB由...
MVCC是一种多版本并发控制机制,是MySQL的InnoDB存储引擎实现隔离级别的一种具体方式,用于实现提交读和可重复读这两种隔离级别。MVCC是通过保存数据在某个时间点的快照来实现该机制,其在每行记录后面保存两个隐藏的列,分别保存这个行的创建版本号和删除版本号,然后Innodb的MVCC使用到的快照存储在Undo日志中,同时加上可见性算法,使得各个事务可以在不加锁的情况下能够同时地读取到某行记录上的准确值(这个值对不同的事务而言可能是不同的)。该日志通过回滚指针把一个数据行...
双机热备是应用于服务器的一种解决方案,其构造思想是主机和从机通过TCP/IP网络连接,正常情况下主机处于工作状态,从机处于监视状态,一旦从机发现主机异常,从机将会在很短的时间之内代替主机,完全实现主机的功能。MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中,实现MySQL数据库的热备份,从而实现MySQL双机热备。要想实现双机热备,首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的版本都高于3.2。还有一个基本的原则就...
我们先来看看什么是间隙锁。当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据的索引项加锁;对于键值在条件范围内但并不存在的记录,叫做“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制就是是所谓的间隙锁(Next-Key锁)。举个简单的例子,当我们采用范围条件查询数据时,InnoDB会对这个范围内的数据进行加锁。比如有id为:1、3、5、7的4条数据,我们查找1-7范围...