数据库事务和锁定

3
我正在尝试自学正确使用数据库,但我意识到虽然我以前使用过这些概念,但我真的不知道它们之间的区别是什么:
事务是什么? 锁是什么?
据我所知,使用事务时,所有指令都作为一个整体执行,因此另一个用户无法干扰。那么在这种情况下为什么要使用锁呢? 何时应该使用锁定和事务?
我正在使用MySQL,如果有影响,请告诉我...
3个回答

3

当您执行查询并希望在执行过程中存在错误的可能性时,使用事务可以使修改结果的机制得以逆转。

MySQL中的锁定用于获得对某些表的独占模式,并执行更快的插入/删除查询,通常用于将大量数据上传到高负载数据库中。


@Dragos 如果您在高负载下进行锁定,则应使用足够的数据量来减少速度惩罚。 - Ulterior

2

交易是一个单独的单位,必须保证原子性,即所有步骤都完成或未完成任何步骤。这是必要的,因为通常数据库上的操作需要执行各种读、写等多个操作,只有所有操作成功执行才能确保目标的一致性。

要更好地理解,请阅读关于 ACID(原子性、一致性、隔离性、持久性)的内容,这些特征保证了交易可靠处理。


交易是自动处理的,还是我必须测试一切,并在失败的情况下自己进行回滚? - Dragos

0

事务可以说是DML语句的执行。当我们使用DML语句向数据库插入、更新、选择和删除数据时,就需要执行事务。所有的事务都由事务管理控制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接