您好,登錄后才能下訂單哦!
本篇內容主要講解“mysql事務對效率的影響有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“mysql事務對效率的影響有哪些”吧!
1、數據庫事務會降低數據庫的性能。為了保證數據的一致性和隔離性,事務需要鎖定事務。
2、如果其他事務需要操作這部分數據,必須等待最后一個事務結束(提交,回滾)。
create table acct( acct_no varchar(32), acct_name varchar(32), balance decimal(16,2) ); insert into acct values ('0001','Jerry', 1000), ('0002','Tom', 2000); start transaction; -- 啟動事務 update acct set balance = balance - 100 where acct_no = '0001'; -- 模擬扣款人 update acct set balance = balance + 100 where acct_no = '0002'; -- 模擬收款人 commit; -- 事務提交 rollback; -- 事務回滾
知識點擴展:
原子性:整個事務的所有操作要么全部提交成功,要么全部失敗回滾
一致性:指事務將數據庫從一種一致性狀態轉換到另外一種一致性狀態,在事務開始之前和事務結束后數據庫中的完整性沒有被破壞
隔離性:要求一個事務對數據庫中數據修改,在未提交完成前對其他事務是不可見的
持久性:一旦事務提交,則其所做的修改就會永久保存到數據庫中。此時即使系統崩潰,已經提交的修改數據也不會丟失。
運行時間比較長,操作的數據比較多的事務
鎖定太多的數據,造成大量的阻塞和鎖超時
回滾時所需時間比較長
執行時間長,容易造成主從延遲
如何處理大事務:
避免一次處理太多的數據
移出不必要在事務中的select操作
到此,相信大家對“mysql事務對效率的影響有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。