猿问

有什么方法可以在不导致MySQL锁定的情况下进行选择?

有什么方法可以在不导致MySQL锁定的情况下进行选择?

查询:

SELECT COUNT(online.account_id) cnt from online;

但是Online表也被事件修改,所以我经常可以通过运行show processlist.

MySQL中是否有任何语法可以使SELECT语句不导致锁?

我忘了上面提到它在MySQL从数据库上。

在我加入my.cnf:transaction-isolation = READ-UNCOMMITTED奴隶将遇到错误:

错误‘二进制日志不可能。消息:在InnoDB中的事务级别’读未提交‘对于查询上的binlog模式’语句‘是不安全的。

那么,有没有一种兼容的方法来做到这一点呢?


达令说
浏览 502回答 3
3回答

喵喵时光机

你可能想读本页MySQL手册。如何锁定表取决于表的类型。MyISAM使用表锁来实现非常高的读取速度,但是如果您有一个UPDATE语句等待,那么将来的SELECT将在更新后排队。InnoDB表使用行级锁定,更新后不会锁定整个表。还有与InnoDB相关的其他类型的锁定问题,但您可能会发现它符合您的需要。
随时随地看视频慕课网APP
我要回答