mysql默认事务隔离级别

mysql默认事务隔离级别,第1张

SQL标准中支持4种事务隔离级别,READ_UNCOMMITTED(读未提交),READ_COMMITTED(读已提交),REPEATABLE_READ(可重复读),SERIALIZABLE(串行读),MySQL innodb引擎支持全部这4种事务隔离级别。

工具/原料:

联想Y7000P

Windows10

MySQL6.0

1、启动命令行窗口,连接MySQL数据库

图示,通过MySQL提供的客户端命令mysql连接MySQL数据库。

2、通过系统变量查询数据库当前事务隔离级别

图示,通过查询数据库提供的系统变量 tx_isolation 或 transaction_isolation 的值即可获取当前的事务隔离级别。MySQL数据库默认的事务隔离级别是REPEATABLE_READ (可重复读)。

3、设置本次会话的事务隔离级别

图示,通过命令set session transaction isolation level可以设置本次会话的事务隔离级别,该设置不会影响其他会话,并且设置会随着当前会话的结束而结束。

4、设置全局会话的事务隔离级别

图示,通过命令set global transaction isolation level可以设置全局会话的事务隔离级别,该设置不会影响当前已经连接的会话,设置完毕后,新打开的会话,将使用新设置的事务隔离级别。

5、设置一次 *** 作的事务隔离级别

图示,通过命令set transaction isolation level可设置下一次事务 *** 作的隔离级别,该设置会随着下一次事务的提交而失效。

事务隔离级别是为了保证并发读取数据库中数据正确性而采用的一种策略。

事务隔离级别包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。

事务的隔离级别有四种级别,读取未提交内容,在该隔离级别,所有事务都可以看到其他未提交事务的执行结果、读取提交内容,这是大多数数据库系统的默认隔离级别。

可重读,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行、可串行化,这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突。

事务隔离的解决方法:

1、未授权读取的方法,也称为读未提交。该隔离级别可以通过“排他写锁”实现。

2、授权读取的方法,可以通过“瞬间共享读锁”和“排他写锁”实现。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行。

3、可重复读取,通过“共享读锁”和“排他写锁”实现。读取数据的事务将会禁止写事务(但允许读事务),写事务则禁止任何其他事务。

4、序列化的方式。它要求事务序列化执行,事务只能一个接着一个地执行,不能并发执行。

以上内容参考:百度百科-事务隔离级别


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6652797.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存