MYSQL 表级锁 行级锁 页面锁区别
2016-01-22 16:36
991 查看
myisam存储引擎默认是表级锁
innodb存储引擎默认是行级锁
DBD存储引擎默认是页面锁
表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发出锁冲突的概率最高,并发度最低。
行级锁:开锁大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
从上述特点可见,很难笼统的说哪种锁更好,只能就具体应用的特点来说哪种锁更合适!仅从锁的角度来说:表级锁
更于以查询为主,只有少量按索引条件更新数据的应用,如WEB应用;而行级锁则更适合于有大理按索引发更新少量
不同数据,同时又有并发查询的应用,如一些在线事务处理系统。
innodb存储引擎默认是行级锁
DBD存储引擎默认是页面锁
表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发出锁冲突的概率最高,并发度最低。
行级锁:开锁大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
从上述特点可见,很难笼统的说哪种锁更好,只能就具体应用的特点来说哪种锁更合适!仅从锁的角度来说:表级锁
更于以查询为主,只有少量按索引条件更新数据的应用,如WEB应用;而行级锁则更适合于有大理按索引发更新少量
不同数据,同时又有并发查询的应用,如一些在线事务处理系统。
相关文章推荐
- MySQL下添加用户以及给予权限的实现
- MySQL添加用户、删除用户与授权
- MySQL-死锁查询
- MySqlCommand查询条件中包含中文没有结果的问题
- 零积分下载,2014年辛星mysql教程秋季版第一本已经完工,期待您的支持
- 服务器,数据库连接注意mysql的user表
- MySql 里的IFNULL、NULLIF和ISNULL用法
- 【转】不用程序mysql也可以查询今天、昨天、7天、近30天、本月、上一月的数据
- mysqladmin命令修改Mysql密码
- MySQL 表分区梳理
- xampp修改mysql数据库密码
- mysql not in 或in 优化
- 【转】MYSQL 存储过程定时操作数据库
- mysql中myisamchk命令使用总结
- MySql—解压缩版本的安装与配制
- MySql的存储引擎
- 欢迎使用CSDN-markdown编辑器
- mysql安装一 --- 源码包安装
- EF+MySql
- MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码)