首页
随机
最近更改
特殊页面
社群首页
参数设置
关于WHY42
免责声明
WHY42
搜索
用户菜单
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁MySQL:数据库锁”︁的源代码
←
MySQL:数据库锁
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=分类= 锁的分类(oracle) #按操作划分,可分为DML锁、DDL锁 #按锁的粒度划分,可分为表级锁、行级锁、页级锁(mysql) #按锁级别划分,可分为共享锁、排他锁 #按加锁方式划分,可分为自动锁、显示锁 #按使用方式划分,可分为乐观锁、悲观锁 DML锁(data locks,数据锁),用于保护数据的完整性,其中包括行级锁(Row Locks (TX锁))、表级锁(table lock(TM锁))。 DDL锁(dictionary locks,数据字典锁),用于保护数据库对象的结构,如表、索引等的结构定义。其中包排他DDL锁(Exclusive DDL lock)、共享DDL锁(Share DDL lock)、可中断解析锁(Breakable parse locks) *MyISAM和MEMORY采用表级锁(table-level locking) *BDB采用页面锁(page-level locking)或表级锁,默认为页面锁 *InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁 =行级锁= 行级锁是MySQL中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。行级锁分为共享锁 和 排他锁。 =表级锁= 表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持。最常使用的MYISAM与INNODB都支持表级锁定。表级锁定分为表共享读锁(共享锁)与表独占写锁(排他锁)。 =页级锁= 页级锁是MySQL中锁定粒度介于行级锁和表级锁中间的一种锁。表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记录。BDB支持页级锁 [[Category:Database]]
返回
MySQL:数据库锁
。