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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 事务 锁 并发

發(fā)布時(shí)間:2025/3/21 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 事务 锁 并发 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

連接管理器:
? ?接受請(qǐng)求
? ?創(chuàng)建線程
? ?認(rèn)證用戶
? ?建立安全連接

并發(fā)控制:
? ?mbox:MDA

? ?C/S: 100
? ? ? ?10分鐘:
? ? ? ? ? ?多版本并發(fā)控制: MVCC ? ?用戶操作數(shù)據(jù)時(shí),操作是的數(shù)據(jù)的快照,切數(shù)據(jù)快照存在時(shí)間值。操作完成后,對(duì)快照進(jìn)行合并。

鎖:
? ?讀鎖:共享鎖
? ?寫鎖:獨(dú)占鎖
? ? ? ?LOCK TABLES tb_name {READ|WRITE};
? ? ? ?UNLOCK TABLES

鎖粒度:從大到小,MySQL服務(wù)器僅支持表級(jí)鎖,行鎖需要由存儲(chǔ)引擎完成;
? ?表鎖:
? ?頁鎖:
? ?行鎖:

事務(wù):
? ?RDBMS: ACID (原子性,一致性,隔離性,持久性)

? ?MyISAM:
? ?InnoDB:

? ?事務(wù)日志 ? ? ? ?事務(wù)引擎: 先將事務(wù)步驟在內(nèi)存中執(zhí)行一遍,寫入事務(wù)日志。當(dāng)事務(wù)執(zhí)行完成了,即事務(wù)提交,即在內(nèi)存中執(zhí)行完成還沒有寫入內(nèi)存。然后寫入磁盤中。
? ? ? ?重做日志
? ? ? ? ? ?redo log
? ? ? ? 撤消日志
? ? ? ? ? ?undo log
服務(wù)器變量:

動(dòng)態(tài):
? ?全局變量
? ? ? ?修改后不影響當(dāng)前會(huì)話,只對(duì)新建的會(huì)話有效;
? ?會(huì)話變量
? ? ? ?僅對(duì)當(dāng)前會(huì)話有效,而且是立即生效;

? ?永久有效:修改配置文件


修改:SET {SESSION|GLOBAL} VAR_NAME=‘’;


多事務(wù)同時(shí)執(zhí)行:彼此之間互不影響的方式進(jìn)行并行;
? ?事務(wù)之間交互:
? ? ? ?通過數(shù)據(jù)集

事務(wù):CPU, I/O
? ?RDBMS,
? ? ? ?ACID:
? ? ? ? ? ?Automicity:原子性,事務(wù)所引起的數(shù)據(jù)庫操作,要么都完成,要么都不執(zhí)行;
? ? ? ? ? ?Consistency:一致性,A(3000)-->B(2000)
? ? ? ? ? ? ? ?1:A:3000-->2500,
? ? ? ? ? ? ? ?2: A+B: 4500,
? ? ? ? ? ?Isolation: 隔離性
? ? ? ? ? ? ? ?事務(wù)調(diào)度:事務(wù)之間影響最小
? ? ? ? ? ? ? ?MVCC:多版本并發(fā)控制
? ? ? ? ? ?Durability:一旦事務(wù)成功完成,系統(tǒng)必須保證任何故障都不會(huì)引起事務(wù)表示出不一致性;
? ? ? ? ? ? ? ?1、事務(wù)提交之前就已經(jīng)寫出數(shù)據(jù)至持久性存儲(chǔ);
? ? ? ? ? ? ? ?2、結(jié)合事務(wù)日志完成;
? ? ? ? ? ? ? ? ? ?事務(wù)日志:順序IO
? ? ? ? ? ? ? ? ? ?數(shù)據(jù)文件:隨機(jī)IO

? ?事務(wù)的狀態(tài):
? ? ? ?活動(dòng)的:active
? ? ? ?部分提交的:最后一條語句執(zhí)行后
? ? ? ?失敗的:
? ? ? ?中止的:
? ? ? ?提交的:

事務(wù):并發(fā)執(zhí)行
? ?1、提高吞吐量和資源利用率
? ?2、減少等待時(shí)間

事務(wù)調(diào)度:
? ?可恢復(fù)調(diào)度;
? ?無級(jí)聯(lián)高度:


隔離性:
? ?隔離級(jí)別:
? ? ? ?READ UNCOMMITTED:讀未提交
? ? ? ?READ COMMITTED:讀提交
? ? ? ?REPATABLE READ:可重讀
? ? ? ?SERIABLIZABLE:可串行

并發(fā)控制依賴的技術(shù)手段:
? ?鎖
? ?時(shí)間戳
? ?多版本和快照隔離

餓死:
死鎖:


SQL,ODBC

START TANSACTION:啟動(dòng)
? ?SQL
? ?SQL
COMMIT: 提交
ROLLBACK: 回滾

如果沒有明確啟動(dòng)事務(wù):
? ?autocommit:能實(shí)現(xiàn)自動(dòng)提交,每一個(gè)操作都直接提交;

? ?建議:明確使用事務(wù),并且關(guān)閉自動(dòng)提交;


保存點(diǎn):SAVEPOINT sid
回滾至保存點(diǎn):ROLLBACK TO sid

轉(zhuǎn)載于:https://blog.51cto.com/pencild/1409605

總結(jié)

以上是生活随笔為你收集整理的mysql 事务 锁 并发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。