我正在运行如下所示的交易:
BEGIN()
SELECT * FROM mytable LIMIT 1
COMMIT()
问题在于,如果我尝试同时在mytable
中插入新数据,则需要的时间比通常要长,因此我假设事务锁定mytable
以进行插入。这可能吗?
MySQL服务器引擎是InnoDB
,最新版本
答案 0 :(得分:0)
尝试将其添加到查询的顶部:
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
默认情况下,它允许查询尝试读取当前插入到表中的数据,从而导致死锁。
使用此标志时,它只会在您开始运行查询时设置表中已有的值。