本着提高我的知识水平提出的一个谦虚的问题。请您反应温和。
作为长期的应用程序开发人员,我在某种程度上知道事务是什么(我一直都在使用它们)。暂时不考虑事务隔离级别,在较高的级别上,事务允许一个工作块完全或根本不完成,并允许与其他数据库修改活动进行一定程度的隔离。
我还知道什么是锁(在各种数据库中),或者至少是一种行为(如果我以某种方式明确地锁定了一个表,那么任何其他进程或线程都无法更新该表的任何内容)。
我现在最明显的不明确的是:在各种数据库中,当我明确地锁定一行或一台,我在用人所使用的数据库的交易设施在幕后进行交易正常工作完全一样的结构?
也就是说,对我来说,为了使事务是原子的和隔离的,它必须进行一些锁定。这种由事务启动,隐藏迁移的锁定是否与各种数据库允许我通过诸如SELECT FOR UPDATE
或显式LOCK
命令之类的构造访问的锁定相同?还是这两个概念完全不同?
再次,我为这个问题的天真道歉。我很高兴被告知更多的基础资料。