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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

tcl mysql_MySQL·TCL语言

發布時間:2023/12/4 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tcl mysql_MySQL·TCL语言 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TCL語言就是我們所說的事務控制語言。首先事務的定義就是:一條或者多條SQL語句所組成的一個執行單位,且該組sql語句要么執行要么都不執行。事務有四大特性(ACID),分別為:

(1).原子性(A):一個事務是不可再分割的整體,要么都執行,要么都不執行

(2).一致性(C):一個事務可以是數據從一個一致狀態轉換到另外一個一致的狀態

(3).隔離性(I):一個事務不受其他事務的影響,多個事務間互相隔離

(4).持久性(D):一個事務一旦提交了,則永久地持久化到本地

以上就是事務的四個特點,可以將事務理解成對數據的一個設定好處理過程,在執行事務時不會只執行其中一部分,要么全部執行,要么全不執行,體現原子性。執行完事務,數據前后的變化結果是一個穩定的狀態,體現了一致性。且對數據進行處理的過程中,多過處理過程是不能同時執行的,也就是事務間的執行是相互隔離的。最后是當我們執行完一個事務之后,相當于對數據的處理過程結束且保存,體現出事務的持久性。

一、事務的使用

1、事務分類:

①.隱式事務,沒有明顯的開啟和結束,本身就是一條事務可自動提交,如insert、delete等

②.顯式事務,具有明顯的開啟和結束

2、開啟(顯式)事務步驟

set autocommit = 0;

start transaction; # 可以省略

[sql 語句]

savepoint 回滾點名;# 設置回滾點

#結束事務

commit; # 提交

rollback; # 回滾

rollback to 回滾點名; # 回滾到指定的地方

二、并發事務

1、產生原因:多個事務同時操作同一數據庫的相同數據時

2、產生的問題:

①臟讀:一個事務讀取看其他事務還沒有提交的數據,讀取的的是其他事務更新后的數據

②不可重復讀:一個事務多次讀取,結果不一樣

③幻讀:一個事務讀取了其他事務還沒有提交的數據,且只是讀到其他事務插入的數據

3、解決并發問題—通過設置隔離級別來解決并發問題

read uncommitted(讀未提交):不能解決臟讀、不可重復讀、幻讀

read commited(讀已提交):可解決臟讀,不可解決不可重復讀、幻讀

repeatable read(可重復讀):可解決臟讀、不可重復讀,不能解決幻讀

serializable(串行化):可解決臟讀、不可重復讀、幻讀

其中mysql默認的隔離級別為repeatable read,盡管serializable的隔離級別最高,但是性能確實最低,簡單來講當一個事務在執行當時沒有提交,則此時想通過執行其他事務就只能等待了。

總結

以上是生活随笔為你收集整理的tcl mysql_MySQL·TCL语言的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。