事务隔离级别大量写入次数

时间:2012-03-01 16:05:47

标签: sql transactions isolation-level

我可能会胡说八道,但是:

哪种隔离级别“最佳” 许多线程在很多连接上运行,使用事务执行大量更新和写入? 或者隔离级别仅适用于读取?

- 编辑 DBMS ... InnoDB mysql ... 最好..我想要的是运行写入/更新的并行事务,如果我们在同一列上有两个更新,我不想得到并发问题......

所以并行写入/更新,所有这些都在锁定数据库的情况下运行 - 编辑 经过几次阅读后得出了这个结论

http://dev.mysql.com/doc/refman/5.0/en/innodb-lock-modes.html

因此Update采用行锁,而不是共享锁,因此更新时应该没有问题。 但是必须事先检查哪个线程来到锁定的连接.. 所以在同一行上数据库应该没有可靠的更新...... 所以

NO:

t1 - T1: update (id 1) 
t2 - T2: update (id 1)

一定要注意两个线程不会来更新同一行......但是从数据库的角度来看,只要它是InnoDB并具有最低级别的隔离READ_UNCOMMITED,就不应该有问题 我会在几只飞蛾之后得到一个更新:D

1 个答案:

答案 0 :(得分:1)

根据经验法则:隔离度越高(意义越大:隔离度越高),锁定和开销越多。因此,如果您希望尽可能快速和并行,那么您根本不需要隔离。

当然这可能会破坏您的业务逻辑,所以我认为除了查看所有可用的隔离级别并根据您的要求检查它们之外别无选择。