Mysql 支持3中锁结构
表级锁,开销小,加锁快,不会出现死锁,锁定的粒度大,冲突概率高,并发度最低
行级锁,开销小,加锁慢,会出现死锁,锁定粒度小,冲突概率最低,并发度最高
页面锁,开销和加锁处于表锁和行锁之间...因此,在实际开发中,尤其是并发插入比较多的应用,我们要尽量优化业务逻辑,尽量使用相等条件来访问更新数据,避免使用范围条件。
什么时候使用表锁?...下面就通过实例来介绍几种死锁的常用方法。
(1)在应用中,如果不同的程序会并发存取多个表,应尽量约定以相同的顺序为访问表,这样可以大大降低产生死锁的机会。...(2)在一定条件下,MyISAM允许查询和插入并发执行,我们可以利用这一点来解决应用中对同一表和插入的锁争用问题。...对于一些特定的事务,可以使用表锁来提高处理速度或减少死锁的可能
Mysql中的锁
MySql乐观锁悲观锁
悲观锁
悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作