什么是 SQL 数据库的并发冲突?
最佳答案
假设您有一条 SQL 语句,例如 UPDATE table SET a = a + 1 WHERE ...
,它对应于以下代码:
read a
a = a + 1
write a
假设两个客户端 A 和 B 同时执行此操作。可能会发生以下情况(时间从上到下流动):
A B
read a
read a
a = a + 1
write a
a = a + 1
write a
会发生什么? a
只递增一次,尽管它应该递增两次。这是经典的并发冲突。为避免此类冲突,数据库使用事务和锁。
关于concurrency - 什么是并发冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2199559/