MySQL - READ UNCOMMITTED 隔离级别是不是使用锁?
Posted
技术标签:
【中文标题】MySQL - READ UNCOMMITTED 隔离级别是不是使用锁?【英文标题】:MySQL - Does the READ UNCOMMITED isolation level use locks?MySQL - READ UNCOMMITTED 隔离级别是否使用锁? 【发布时间】:2020-06-11 21:41:00 【问题描述】:所以我试图更多地了解隔离级别,我读到READ UNCOMMITED
隔离级别允许脏读数,这可能导致读数不一致。我还读到了
SELECT
语句以非锁定方式执行
所以我的问题是,这种类型的隔离是否对其他语句使用锁?例如,如果我使用INSERT INTO
语句,它会获取锁吗?
提前致谢!
【问题讨论】:
仅供参考,如果您正在尝试解决特定的性能/锁定问题(或类似这样的通用数据库问题),我建议直接询问dba.stackexchange.com 上确定的根本问题。隔离级别有多种用途,但对于READ UNCOMMITED
,我怀疑它在服务器代码中很容易实现,而不是基于强烈的用户需求。
【参考方案1】:
是的。仍然需要锁来确保数据事务是原子的。
锁还确保像 auto_increments 值这样的元素只存在一次。
【讨论】:
以上是关于MySQL - READ UNCOMMITTED 隔离级别是不是使用锁?的主要内容,如果未能解决你的问题,请参考以下文章
解决“set transaction isolation level read uncommitted;“命令无法修改MySQL数据库隔离级别的问题
MySQL数据库事务各隔离级别加锁情况--read uncommitted篇(转)
mysql 5.7.16 然后设置 事务隔离级别为 read uncommitted 不起作用.以下是截图.请大神帮帮我.