执行 INSERT、UPDATE 或 DELETE 语句时,数据库服务器将使用互斥锁定。互斥锁定意味着,在数据库服务器除去锁定之前,其他用户不能更新或删除项目。
此外,除非其他用户使用“脏读取”隔离级别,否则他们不能查看行。
数据库服务器何时除去互斥锁定取决于数据库是否支持事务日志记录:
在此情况下,在对列执行访存操作期间会保留锁定,但仅限于在服务器访存下一个列之前,或者在服务器通过将锁定提升为互斥锁定来更新当前列之前。
在非日志记录数据库中,为更新而访存的列上的可提升更新锁定可在最初创建锁定的 INSERT、MERGE、UPDATE 或 DELETE 语句仍在运行时,通过对数据库执行 DDL 操作进行释放。要降低并发会话修改已解锁的行时发生数据损坏的风险,请限制那些对支持事务日志记录的数据库使用可提升更新锁定的操作。