Mysql--锁
锁目的 解决并发情况下资源抢夺问题, 维护数据的⼀一致性 mysql的锁虽然开发者可以⼿手动设置, 但⽐比较影响并发性, ⼀一般会 使⽤用 乐观锁 代替 ( 如Django中 到库存问题) 由于mysql会⾃自动使⽤用锁, 所以需要了了解锁机制, 以便便优化数据库并发能⼒力力 粒度/覆盖范围 表级锁 对整个表锁定, 并发差, 资源消耗少 行级锁 对数据⾏行行锁定, 并发好, 资源消耗多 不同数据库引擎⽀支持的锁也不不同 MyISAM (5.5之前默认) ⽀支持表级锁 InnoDB ⽀支持⾏行行级锁和表级锁 锁和事务 ⽆无论操作是否在事务中, 都可以获取锁, 只不不过在事务中, 获取的锁只有执⾏行行完事务才会释放 MyISAM 只⽀支持表级锁 表读锁/共享锁 获取后, 其他请求可以读不不能写 表写锁/排它锁 获取后, 其他请求既不不能读也不不能写 加锁⽅方式 数据库⾃自动管理理, SELECT前给涉及的表添加读锁, 更更新前(增删改)给涉及的表加写锁 来源: https://www.cnblogs.com/oklizz/p/11453780.html