91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql事務知識點分析

發布時間:2021-11-10 11:28:30 來源:億速云 閱讀:131 作者:iii 欄目:MySQL數據庫

這篇文章主要講解了“mysql事務知識點分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mysql事務知識點分析”吧!

1.  事務

1.1.  事務的特性

InnoDB存儲引擎支持事務,默認自提交模式,如要開啟事務,必須以begin命令開始,以commit或者rollback結束。

事務特性

l  原子性(Atomiity):要么都做,要么都不做。

l  一致性(Consistency):操作前后滿足業務規則約束。

l  隔離性(Isolation):多個并發事務互不影響。

l  持久性(Durabili):事務結束,對數據的修改是持久的。

1.2.  事務語句

事務開啟語句由begin或start transaction(read write|read only)命令開始,結束用commit或rollback顯示結束。

隱式提交:DDL操作或再次輸入begin和start transaction命令。

隱式回滾:退出會話、連接超時、關機等。

關閉自提交特性(set autocommit=0)

開啟自提交特性(set autocommit=1)

關閉自動提交好處:不用一個事務一次提交,多個事務一起體驕傲,提高處理能力。

關閉自提交壞處:如一事務長期不提交,導致行鎖等待,影響數據庫TPS值。

不建議關閉自提交模式。

1.3.  truncate和delete的區別

truncate 是DDL,事務中不能回滾,會清空表的自增屬性,回到原始開始值。

delete是DML

共同點:清空表內數據,

1.4.  事務的隔離級別

SQL標準的4鐘隔離級別

n  讀未提交(read uncommitted),RU,一個事務可以讀取到其他事務未提交的數據變化,叫臟讀,生產環境不建議使用。

n  讀已提交(read committed),RC,一個事務可以讀其他事務已提交的數據變化,叫不可重復讀,是Oracle默認事務隔離級別。

n  可重復讀(repetable read),RR,一個事務中,直到事務結束前,都可以反復讀取到事務剛開始時看到的數據,并一直不發生變化,避免了臟讀、不可重復讀、幻讀現象的發生。mysql默認事務隔離級別。

n  串行(serializable),在每個讀的數據行上都加表級共享鎖,在每次寫數據時都要加表級排他鎖。造成InnoDB的并發能力下降、大量超時和鎖競爭的發生,不建議用到生產環境。

查看當前庫隔離級別

[mysql]>show variables like '%tx_isolation%';

+---------------+-----------------+

| Variable_name | Value           |

+---------------+-----------------+

| tx_isolation  | REPEATABLE-READ |

+---------------+-----------------+

修改全局或當前會話的事務隔離級別

set global|session transaction isolation level

1.5.  臟讀、不可重復讀、幻讀、可重復讀

1.5.1.  臟讀

RU,一個事務讀取別的事務未提交的數據。

1.5.2.  不可重復讀與幻讀

不可重復讀:一個事務讀取到其他事務針對舊數據的修改記錄,常見(update,delte)。

幻讀:一個事務讀取到其他事務新增數據,常見(insert),允許出現在已提交事務的隔離級別中。

1.5.3.  可重復讀

可重復讀是mysql默認事務隔離級別,消除臟讀、不可重復讀、幻讀等現象,很好保證事務的一致性。

如在本事務想讀取別的新增數據,可如下:

查詢:select * from t for update;

本事務提交一次:commit;

感謝各位的閱讀,以上就是“mysql事務知識點分析”的內容了,經過本文的學習后,相信大家對mysql事務知識點分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邯郸县| 微博| 和田市| 陈巴尔虎旗| 高要市| 桂林市| 天等县| 通海县| 冷水江市| 泸溪县| 保定市| 奇台县| 隆子县| 远安县| 南投县| 博爱县| 科技| 临桂县| 昌吉市| 临汾市| 宁都县| 四川省| 绿春县| 大理市| 白河县| 宜君县| 达日县| 嘉峪关市| 张掖市| 应用必备| 布尔津县| 彭阳县| 韶山市| 龙州县| 宁波市| 德惠市| 若尔盖县| 平原县| 紫云| 巴东县| 青海省|