我可能在胡说八道,但是:
对于在大量连接上运行的大量线程,使用事务执行大量更新和写入,哪种隔离级别是“最好的”?或者隔离级别仅用于读取?
--编辑DBMS ...InnoDB mysql...最好的.。我想要的是运行写/更新的并行事务,例如,如果我们在同一列上有两个更新,我不希望遇到并发问题……
所以并行写/更新,都是在数据库锁的情况下运行的--在几次阅读后得出这个结论的编辑
http://dev.mysql.com/doc/refman/5.0/en/innodb-lock-modes.html
所以Update接受行锁,而不是共享锁,所以在更新时应该不会有问题。但必须事先检查哪个线程进入锁定的连接..因此,应该没有对同一行上的数据库进行并发更新...所以
否:
t1 - T1: update (id 1)
t2 - T2: update (id 1)需要注意的是,两个线程不会更新同一行……但是从数据库的角度来看,只要它是InnoDB并且具有最低级别的隔离READ_UNCOMMITED,应该不会有问题,我将在几个月后进行更新:D
发布于 2012-03-02 00:33:56
经验法则:隔离级别越高(越高意味着隔离越多),获得的锁和开销就越多。所以,如果你想要尽可能的快速和并行,你根本就不需要隔离。
当然,这可能会破坏您的业务逻辑,所以我认为除了查看所有可用的隔离级别并根据您的需求检查它们之外,还没有其他选择。
https://stackoverflow.com/questions/9519610
复制相似问题