Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Microsoft SQL,了解低级事务锁定_Sql_Sql Server_Select_Transactions - Fatal编程技术网

Microsoft SQL,了解低级事务锁定

Microsoft SQL,了解低级事务锁定,sql,sql-server,select,transactions,Sql,Sql Server,Select,Transactions,当连接两个表的select语句和对这两个表执行多次更新的事务之间出现死锁时,我遇到了一个奇怪的情况 我来自Java世界,所以我认为使用事务将锁定其中的所有表,但我现在明白的是,只有当您从事务访问表时,才会请求锁定,如果其他人在这段时间内对该表进行大量选择,则可能会出现死锁。为了公平起见,我还必须说,我有多个连接进行了相同的调用序列,其中他们对两个表执行了大量查询,然后创建了一个事务来更新这些表,所以无论您考虑什么年龄段的情况,我都有很大的机会遇到它 话虽如此,您能否提供一个低层次的解释,说明在什

当连接两个表的select语句和对这两个表执行多次更新的事务之间出现死锁时,我遇到了一个奇怪的情况

我来自Java世界,所以我认为使用事务将锁定其中的所有表,但我现在明白的是,只有当您从事务访问表时,才会请求锁定,如果其他人在这段时间内对该表进行大量选择,则可能会出现死锁。为了公平起见,我还必须说,我有多个连接进行了相同的调用序列,其中他们对两个表执行了大量查询,然后创建了一个事务来更新这些表,所以无论您考虑什么年龄段的情况,我都有很大的机会遇到它


话虽如此,您能否提供一个低层次的解释,说明在什么情况下select语句和事务之间可能会出现死锁?

事务和隔离是两个独立的概念。您需要可序列化的隔离。@duffymo我不熟悉隔离,db序列化,您能链接我以便我理解您的要求吗comment@duffymo太棒了,我抓到你了!事务和隔离是两个独立的概念。您需要可序列化的隔离。@duffymo我不熟悉隔离,db序列化,您能链接我以便我理解您的要求吗comment@duffymo太棒了,我抓到你了!