数据库隔离级别

数据库

MyISAM与InnoDB的区别

InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。
一般来说,MyISAM适合:
(1)做很多count 的计算;
(2)插入不频繁,查询非常频繁;
(3)没有事务。
InnoDB适合:
(1)可靠性要求比较高,或者要求事务;
(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况

隔离级别

下表显示了不同隔离级别允许的并发副作用。
隔离级别 | 脏读 | 非重复读取 | 幻像读
未提交读 read uncommitted 是 是 是
已提交读 read committed 是 是
可重复读 repeatable read 是
可序列化

脏读(Dirty read)——含义和它的名字一样坏、允许读一个没有提交的,或“脏”的数据。这是 在打开其他用户正在写入的 OS 文件,并读取正好在那里的数据时所获得的结果。数据的完整性被损 害,外码被干扰,惟一的约束被忽略。
特点:能接收到在任何时间在数据库中都不会存在的(mysql中会出现示提交的)答案
非重复读取——这只不过意味着读者在时间 T1 读取一个行,并试图在时间 T2 再次读取那个行,
该行可能已经更改。它可能已经消失,它可能已经被更新,等等。
特点:一个事务中两次读的内空不一致
幻像读(Phantom read)——这意味着,如果在时间 T1 执行了一个查询,并在时间 T2 再次执行, 附加的行可能已经添加到数据库中,它将影响结果。这与非重复读取不同,在这种情况下,已经读取 的数据没有改变,但有更多的数据满足查询标准。
特点:一个事务中两次查询的条数不一致,会多。
所谓幻读,就是同一个事务,连续做两次当前读 (例如:select * from t1 where id = 10 for update;),那么这两次当前读返回的是完全相同的记录 (记录数量一致,记录本身也一致),第二次的当前读,不会比第一次返回更多的记录 (幻象)

实现方式:

已提交读 read committed:
当数据被更新时,将阻塞查询:此会话必须在该行等待, 直到持有独占锁定的事务提交;防止脏读
可重复读 repeatable read(oracle无些隔离级别)
当数据被查询时,将阻塞修改:一个共享读取锁定防止其他的会话修改已经读取的数据;会有死锁。防止非重复读
READ COMMITTED:
结果在语句开始的那一刻就固定
SERIALIZABLE :
事务结果在事务开始的那一刻就固定(本事务更新的结果本事务中再次查询可以看到,其它事务的修改本事务查询看不到)

其中:Oracle实现 SERIALIZABLE 事务方式:原本通常在语句级得到的读一致性现在可以扩展到务事级。

默认事务隔离级别

SQL标准所定义的默认事务隔离级别是SERIALIZABLE

MySQL

MySQL的默认事务隔离级别是Repeatable Read
由于应用next-key lock锁,避免了幻读。

Oracle

Oracle 的默认事务隔离级别是READ COMMITTED
Oracle数据库支持READ COMMITTED 和 SERIALIZABLE这两种事务隔离级别。所以Oracle不支持脏读。
ORACLE提供了SQL92标准中的read committed和serializable,同时提供了非SQL92标准的read-only。
read-only与serializable的区别:read-only不允许在本事务中进行DM操作。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容