首页 >

mysql的乐观悲观锁怎么使用 |如何查看mysql操作记录

mysql空间 易语言,mysql sql 循环insert,mysql创建选课表步骤,mysql 5.7 配置半同步,mysql怎么输出图片,如何查看mysql操作记录mysql的乐观悲观锁怎么使用 |如何查看mysql操作记录

乐观锁

先获取数据,再进行更改,期间如果数据被其他用户进行了修改,则乐观锁会自动返回错误或者抛出异常,提示数据已经过期,此时需要重新获取数据,再进行更改。

乐观锁的示例代码如下:

$version = $db->query('select version from demo where id=1');
$db->query('update demo set version='.$version.'+1 where id=1 and version='.$version);

悲观锁

悲观锁则是在读取数据时先获取锁,期间其他用户暂时无法修改该数据。当读取完数据后,需要立刻释放锁,这样其他用户就可以进行操作。

悲观锁的示例代码如下:

$db->begin_transaction();
$db->query('select * from demo where id=1 for update');
//do something
$db->commit();

总之,乐观锁和悲观锁是各有特点的,需在具体业务场景下认真选择使用。在并发量比较大的情况下,悲观锁会对系统造成较大的性能损失,因为每次操作都需要加锁和解锁。而乐观锁则更侧重于数据的完整性,且由于没有锁的开销所以性能较高。因此,根据业务场景和实际需求来选择应当使用乐观锁还是悲观锁。


mysql的乐观悲观锁怎么使用 |如何查看mysql操作记录
  • mysql 创建函数的默认值 |python pyqt4 mysql
  • mysql 创建函数的默认值 |python pyqt4 mysql | mysql 创建函数的默认值 |python pyqt4 mysql ...

    mysql的乐观悲观锁怎么使用 |如何查看mysql操作记录
  • 如何查看MySQL表空间(详细教程,轻松掌握) |mysql更新用户权限
  • 如何查看MySQL表空间(详细教程,轻松掌握) |mysql更新用户权限 | 如何查看MySQL表空间(详细教程,轻松掌握) |mysql更新用户权限 ...

    mysql的乐观悲观锁怎么使用 |如何查看mysql操作记录
  • 如何在MySQL中执行SQL语句(详细图解,让你轻松上手) |mysql 字符串 行转列
  • 如何在MySQL中执行SQL语句(详细图解,让你轻松上手) |mysql 字符串 行转列 | 如何在MySQL中执行SQL语句(详细图解,让你轻松上手) |mysql 字符串 行转列 ...