MySQL事務簡述(六)

2021-10-14 20:02:51 字數 778 閱讀 8697

事務的統計主要是看tps,它是question per second的縮寫,代表每秒處理事務的能力。

這裡的事務包括提交和回滾的兩種型別。不過無論是哪一種,只有顯示宣告的事務才會被統計。

公式:(com_commit+com_rollock)/time

iso和anis sql標準制定了4種事務隔離級別,它們是:

1.read uncommitted 讀取為提交資料

2.read committed 讀取已提交資料

3.repeatable read 可重複讀

4.serializable 序列化

innodb儲存過程預設支援的界別是repeatable read。特別提示一下,因為使用next-key lock演算法,避免了幻讀問題。

在innodb儲存過程中,2,3,4三個級別效能差別不大,有時候甚至serializable 比 repeatable read還要好些。

在mysql配置檔案中,[mysqld]中可以設定事務隔離級別,例如:

[mysqld]

transaction-isolation = read-committed

serializable隔離級別通常用於分布式事務。

在大量插入資料時,採用顯示開啟事務,最後來一次性提交或回滾。

這樣做比自動提交的好處在於,顯示開啟事務提交是只寫一次重做日誌,自動提交則是insert多少條,就會寫多少次重做日誌。如果此時插入100萬條,兩者差別就非常巨大了。

最後建議採取顯示開啟事務,這不僅僅因為效能差異,還因為顯示開啟事務可以避免一些錯誤。

MySQL事務簡述(四)

purge執行緒用於最終完成delete和update操作。在purge的過程中,innodb儲存引擎收看從history list中找到第乙個需要被清理的記錄。清理之後,會在其所在的頁中集訓尋找是否存在可以被清理的記錄。前面我們說過,innodb儲存引擎允許乙個頁中儲存多個undo資訊。如果發現不...

redis 事務簡述

一 什麼是redis事務?一組命令的執行看作乙個集體,在這執行中間,這一組命令按順序依次執行,中間不被打斷或干擾。乙個佇列中一次性,順序性,排他性的執行一系列命令。二 事務的基本操作 開啟事務 multi 作用 開啟事務,此條命令執行,後續命令均加入事務中。執行事務 exec 事務結束位置,即執行事...

事務 Transaction 簡述

一 定義 二 應用場景 設想網上購物的一次交易,其付款過程至少包括以下幾步資料庫操作 正常的情況下,這些操作將順利進行,最終交易成功,與交易相關的所有資料庫資訊也成功地更新。但是,如果在這一系列過程中任何乙個環節出了差錯,例如在更新商品庫存資訊時發生異常 該顧客銀行帳戶存款不足等,都將導致交易失敗。...