mysql事務對效率的影響分析總結
發(fā)布日期:2022-02-05 19:10 | 文章來源:CSDN
1、數(shù)據(jù)庫事務會降低數(shù)據(jù)庫的性能。為了保證數(shù)據(jù)的一致性和隔離性,事務需要鎖定事務。
2、如果其他事務需要操作這部分數(shù)據(jù),必須等待最后一個事務結束(提交,回滾)。
實例
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; -- 事務回滾
知識點擴展:
事務
- 原子性:整個事務的所有操作要么全部提交成功,要么全部失敗回滾
- 一致性:指事務將數(shù)據(jù)庫從一種一致性狀態(tài)轉換到另外一種一致性狀態(tài),在事務開始之前和事務結束后數(shù)據(jù)庫中的完整性沒有被破壞
- 隔離性:要求一個事務對數(shù)據(jù)庫中數(shù)據(jù)修改,在未提交完成前對其他事務是不可見的
- 持久性:一旦事務提交,則其所做的修改就會永久保存到數(shù)據(jù)庫中。此時即使系統(tǒng)崩潰,已經(jīng)提交的修改數(shù)據(jù)也不會丟失。
大事務
運行時間比較長,操作的數(shù)據(jù)比較多的事務
- 鎖定太多的數(shù)據(jù),造成大量的阻塞和鎖超時
- 回滾時所需時間比較長
- 執(zhí)行時間長,容易造成主從延遲
如何處理大事務:
- 避免一次處理太多的數(shù)據(jù)
- 移出不必要在事務中的select操作
到此這篇關于mysql事務對效率的影響分析總結的文章就介紹到這了,更多相關mysql事務對效率的影響內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
相關文章
關注官方微信