日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

简述一下你对mysql事物的理解_面试题:说说你对数据库事务的理解

發(fā)布時(shí)間:2024/4/17 数据库 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简述一下你对mysql事物的理解_面试题:说说你对数据库事务的理解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在回答這個(gè)問(wèn)題的時(shí)候首先要考慮的是這里面包含了哪些知識(shí)點(diǎn)是我們要回答的,

第一個(gè)要點(diǎn):什么是事務(wù);

第二個(gè)要點(diǎn):數(shù)據(jù)庫(kù)的基本特性是什么?

第三個(gè)要點(diǎn):什么是事務(wù)隔離,有哪些事務(wù)隔離級(jí)別?

什么是事務(wù)

數(shù)據(jù)庫(kù)中的事務(wù)是作為單個(gè)邏輯工作單元執(zhí)行的一系列操作。(多條 SQL 語(yǔ)句,要么全部執(zhí)行成功,要么全部執(zhí)行失敗。)

數(shù)據(jù)庫(kù)要支持事務(wù)操作必須滿足四個(gè)特性,也就是常說(shuō)的ACID:

A:原子性(Atomicity):原子性是指事務(wù)包含的所有操作要么全部成功,要么全部失敗

C:一致性(Consistency):一個(gè)事務(wù)執(zhí)行之前和執(zhí)行之后都必須處于一致性狀態(tài)。

I:隔離性(Isolation):多個(gè)事務(wù)在執(zhí)行同一個(gè)操作時(shí)不能被其他事務(wù)干擾。

D:持久性(dependency):一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的

什么是事務(wù)隔離,有哪些事務(wù)隔離級(jí)別?

事務(wù)的隔離性就是指,多個(gè)并發(fā)的事務(wù)同時(shí)訪問(wèn)一個(gè)數(shù)據(jù)庫(kù)時(shí),一個(gè)事務(wù)不應(yīng)該被另一個(gè)事務(wù)所干擾,每個(gè)并發(fā)的事務(wù)間要相互進(jìn)行隔離。

一般的數(shù)據(jù)庫(kù),都包括以下四種隔離級(jí)別:

讀未提交(Read Uncommitted)

讀提交(Read Committed)

可重復(fù)讀(Repeated Read)

串行化(Serializable)

讀未提交(Read Uncommitted)

讀未提交,就是可以讀到未提交的內(nèi)容。

因此,在這種隔離級(jí)別下,查詢是不會(huì)加鎖的,也由于查詢的不加鎖,所以這種隔離級(jí)別的一致性是最差的,可能會(huì)產(chǎn)生“臟讀”、“不可重復(fù)讀”、“幻讀”。

讀提交(Read Committed)

讀提交,就是讀到已經(jīng)提交了的內(nèi)容。

這是各種系統(tǒng)中最常用的一種隔離級(jí)別,也是SQL Server和Oracle的默認(rèn)隔離級(jí)別。這種隔離級(jí)別能夠有效的避免臟讀,但除非在查詢中顯示的加鎖。“讀提交”只能避免“臟讀”,并不能避免“不可重復(fù)讀”和“幻讀”。

可重復(fù)讀(Repeated Read)

可重復(fù)讀,就是專門針對(duì)“不可重復(fù)讀”這種問(wèn)題而制定的隔離級(jí)別,它可以有效的避免“不可重復(fù)讀”。并且它也是MySql的默認(rèn)隔離級(jí)別。

當(dāng)事務(wù)啟動(dòng)時(shí),不允許進(jìn)行“修改操作(Update)”,而“不可重復(fù)讀”恰恰是因?yàn)閮纱巫x取之間進(jìn)行了數(shù)據(jù)的修改,因此,“可重復(fù)讀”能夠有效的避免“不可重復(fù)讀”,但卻避免不了“幻讀”,因?yàn)榛米x是由于“插入或者刪除操作(Insert or Delete)”而產(chǎn)生的。

串行化(Serializable)

數(shù)據(jù)庫(kù)最高的隔離級(jí)別,這種級(jí)別下,事務(wù)“串行化順序執(zhí)行”,也就是一個(gè)一個(gè)排隊(duì)執(zhí)行(每一行數(shù)據(jù)都進(jìn)行了加鎖)。

這種級(jí)別下,“臟讀”、“不可重復(fù)讀”、“幻讀”都不會(huì)出現(xiàn),但是執(zhí)行效率非常差,性能開(kāi)銷也最大,所以基本沒(méi)人會(huì)用。

總結(jié)

以上是生活随笔為你收集整理的简述一下你对mysql事物的理解_面试题:说说你对数据库事务的理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。