MySQL系列(12): MyISAM 锁机制详解
MyISAM存储引擎只支持表级锁。该锁类型是也使用非常广泛的锁类型。
MyISAM存储引擎只支持表级锁。该锁类型是也使用非常广泛的锁类型。
锁是计算机协调多个进程或并发访问某一资源的机制,数据也是供许多用户共享的资源。Java有锁机制,数据库也有锁机制。数据库锁定机制简单来说,是为了保证在并发情况下数据的一致性、有效性。
MySQL的锁机制是由存储引擎提供的,InnoDB
存储引擎支持行级锁和表级锁,默认级别行级锁(row-Level locking); MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking),BDB存储引擎采用的是页面锁(page-level locking),也支持表级锁,BDB已成为历史。
InnoDB 与 MyISAM 最大的不同有两点:一是支持事务,二是采用行级锁。
MySQL 5.7 官方文档:14.7.1 InnoDB Locking,14.7.3 Locks Set by Different SQL Statements in InnoDB,14.7.5 Deadlocks in InnoDB。