【问题标题】:mysql innodb lockmysql innodb 锁
【发布时间】:2012-08-01 15:14:49
【问题描述】:

我正在开发将由多个通勤者运行的应用程序。我想锁定mysql表,这样就不会有进程并发问题,比如一个进程在写,另一个进程同时在读。或者更糟糕的是,这两个过程同时写入(更新)不同的值。 MySQL 提供了锁,但文档说我们应该避免在 InnoDB 中使用锁。 Read here。请提供一些建议,在这种情况下该怎么做。谢谢大家。

【问题讨论】:

    标签: mysql innodb locks


    【解决方案1】:

    InnoDB 是一个完全支持 ACID 的事务性存储引擎。 InnoDB 的属性之一是它处理并发更新。具体如何取决于隔离级别,但通常 InnoDB 不允许两个事务通过锁定行来修改同一行。它不会锁定整个表,因此其他记录可以被其他事务修改。

    如果您将隔离级别设置为serializable,应用程序将工作,因为根本没有并发,但仍然允许一些并发。

    隔离级别越高,你的并发量就越少,但如果你锁定表,你的并发量仍然会更多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-01
      • 2011-10-03
      相关资源
      最近更新 更多