Mysql教程:对MySQL中的锁机制的总结
原文链接:http://blog.chinaunix.net/u/29134/showart_1087632.html
今天来简单总结一下MySQL的锁机制,不妥的欢迎拍砖! 1、对于MySQL来说,有三种锁的级别:页级、表级、行级。 页级的典型代表引擎为BDB。 表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM。 行级的典型代表引擎为INNODB。 2、我们实际应用中用的最多的就是行锁了。 行级锁的优点如下: 1)、当很多连接分别进行不同的查询时减小LOCK状态。 2)、如果出现异常,可以减少数据的丢失。因为一次可以只回滚一行或者几行少量的数据。 行级锁的缺点如下: 1)、比页级锁和表级锁要占用更多的内存。 2)、进行查询时比页级锁和表级锁需要的I/O要多,所以我们经常把行级锁用在写操作而不是读操作。 3)、容易出现死锁。 3、MySQL用写队列和读队列来实现对数据库的写和读操作。 对于写锁定如下: 1)、如果表没有加锁,那么对其加写锁定。 2)、否则,那么把请求放入写锁队列中。 对于读锁定如下: 1)、如果表没有加写锁,那么加一个读锁。 2)、否则,那么把请求放到读锁队列中。 当然我们可以分别用low_priority 以及high_priority在写和读操作上来改变这些行为。 (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |