暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
隔离级别.docx
337
12页
2次
2022-12-25
免费下载
窗体顶端
一、什么是隔离级别
隔离级别:一个事务必须与由其他事务进行的资源或数据更改相隔离的程度。
隔离级别从允许的并发副作用(例如,脏读或虚拟读取)的角度进行描述。
SQL
标准中,定义了
4
级隔离级别及事务处理语言(
TPL
),防止出现如下事务隔离现象:
更新异常:一个会话能将另外一个会话未提交的数据变更(增删改)覆盖掉。通常使用数据库锁机制来避免该问题。
脏读:当前会话能读取其他会话未提交事务的数据。
不可重复读:当前会话多次执行同一条查询
SQL
,其他会话对满足该
SQL
条件的数据进行更新并提交,故当前会话每
次读取的数据可能与前一次的值不同。
幻读:当前会话多次执行同一条查询
SQL
,其他会话对满足该
SQL
条件的数据进行新增
/
删除并提交,故当前会话某
次读取到的数据记录可能会比前次增多或减少。
二、
DM
的隔离级别
达梦官方手册写的
:
DM
数据库支持三种事务隔离级别:读未提交、读提交和串行化
其中,读提交是
DM
数据库默认使用的事务隔离级别。
可重复读升级为更严格的串行化隔离级。
下面我们测试下,达梦到底支持几种隔离级别?
2.1
查看当前的隔离级别
SQL> select isolation from v$trx;
LINEID ISOLATION
---------- -----------
1 1
2 1
3 1
4 1
5 1
used time: 0.297(ms). Execute id is 1419.
--1
:读提交(默认)
2.2
设置隔离级别:读未提交
读未提交隔离级别是最不严格的隔离级别。实际上,在使用这个隔离级别时,有可能发生脏读、不可重复读和幻像。
一般来说,读未提交隔离级别通常只用于访问只读表和只读视图,以消除可见性判断带来的系统开销,提升查询性能。
窗口一:执行
update
未提交
SQL> SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
executed successfully
used time: 0.213(ms). Execute id is 3507.
--
查看隔离级别
SQL> select isolation from v$trx;
of 12
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜