Mysql基礎(chǔ)知識(shí)點(diǎn)《五》

根據(jù)加鎖范圍帖烘,mysql中的鎖的大致可以分為全局鎖亮曹,表鎖,行鎖秘症。

全局鎖

全局鎖就是對(duì)整個(gè)數(shù)據(jù)庫實(shí)例加鎖照卦。通過flush table with read lock命令,將堆數(shù)據(jù)庫加讀鎖乡摹。數(shù)據(jù)庫編程只讀狀態(tài)役耕,常用來作為數(shù)據(jù)庫備份的時(shí)候使用。但是趟卸,在事務(wù)引擎中蹄葱,并不是通過加全局鎖來備份的氏义,我們都知道在innodb引擎的RR隔離級(jí)別下锄列,在導(dǎo)數(shù)據(jù)之前會(huì)開啟一個(gè)事務(wù),由于MVCC的支持惯悠,數(shù)據(jù)庫還是可以進(jìn)行更新操作的邻邮。那為什還需要用全局鎖來備份呢?原因是只有事務(wù)引擎才支持克婶。

通過官方提供的邏輯備份工具mysqldump筒严,使用參數(shù)-single-transaction。

表鎖
  1. 表鎖通過命令lock tables ... T read/write可以提供表的讀/寫鎖情萤。
  2. 元數(shù)據(jù)鎖(meta data lock):MDL不需要顯示的使用鸭蛙,在訪問一個(gè)表的時(shí)候會(huì)自己加上。
如何安全的給小表加字段筋岛?

由于有MDL娶视,加入我們給小表加字段,加入之前已經(jīng)有訪問表的操作了,此時(shí)加字段操作將會(huì)堵塞肪获,直到之前的訪問結(jié)束寝凌,同時(shí)由于加字段操作堵塞了,之后的操作也會(huì)堵塞孝赫。導(dǎo)致系統(tǒng)不可讀寫较木。

  1. 方法一:加入有一個(gè)訪問表的長事務(wù),那么不加字段青柄,或者結(jié)束長事務(wù)伐债。
  2. 方法二:給加字段一個(gè)等待時(shí)間,在等待時(shí)間能沒有完成結(jié)束刹前。
行鎖

并不是所有的引擎都支持行鎖泳赋,MyISAM不支持行鎖,innodb則支持喇喉。mysql中的兩階段鎖祖今。當(dāng)我們開啟事務(wù)的時(shí)候,當(dāng)我們對(duì)一行數(shù)據(jù)進(jìn)行修改的時(shí)候拣技,在另一事務(wù)中千诬,我們還可不可以再修改這一行數(shù)據(jù)呢?答案是不可以膏斤,因?yàn)槭聞?wù)1會(huì)觸發(fā)行鎖徐绑,事務(wù)2的修改操作將會(huì)堵塞直到事務(wù)1提交,行鎖才釋放莫辨。所以在innodb引擎中行鎖并不是使用完就釋放的傲茄,得事務(wù)提交之后才釋放。

死鎖和死鎖檢測

當(dāng)出現(xiàn)資源的循環(huán)依賴的時(shí)候沮榜,就容易造成死鎖盘榨。
解決方法:

  1. 設(shè)置超時(shí)時(shí)間,通過設(shè)置innodb_lock_wait_timeout蟆融,默認(rèn)50s草巡。
  2. 開啟死鎖檢測,通過設(shè)置參數(shù)innodb_deadlock_detect=on型酥。
    弊端:
    設(shè)置超時(shí)時(shí)間并不是一個(gè)好辦法山憨,因?yàn)樵趯?shí)際中很難設(shè)置出合適的時(shí)間。死鎖檢測也并不是一個(gè)很好的辦法弥喉,假如對(duì)于一個(gè)熱點(diǎn)數(shù)據(jù)更新操作郁竟,每次都需要判斷是否死鎖,這將是一個(gè)很耗費(fèi)cpu的事情由境,會(huì)造成我們的數(shù)據(jù)庫cpu達(dá)到了100%但是每秒處理的事務(wù)卻很少棚亩。
怎么解決熱點(diǎn)數(shù)據(jù)更新導(dǎo)致的性能問題?

對(duì)于熱點(diǎn)數(shù)據(jù),最好的處理方法就是分流蔑舞,或者消息隊(duì)列拒担。分流指的是將處理分到多行中處理,降低某一行的并發(fā)量攻询,消息隊(duì)列的處理方式就是將操作保存到小實(shí)習(xí)隊(duì)列中排隊(duì)處理从撼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市钧栖,隨后出現(xiàn)的幾起案子低零,更是在濱河造成了極大的恐慌,老刑警劉巖拯杠,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掏婶,死亡現(xiàn)場離奇詭異,居然都是意外死亡潭陪,警方通過查閱死者的電腦和手機(jī)雄妥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來依溯,“玉大人老厌,你說我怎么就攤上這事±杪” “怎么了枝秤?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長慷嗜。 經(jīng)常有香客問我淀弹,道長,這世上最難降的妖魔是什么庆械? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任薇溃,我火速辦了婚禮,結(jié)果婚禮上干奢,老公的妹妹穿的比我還像新娘痊焊。我一直安慰自己盏袄,他們只是感情好忿峻,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辕羽,像睡著了一般逛尚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上刁愿,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天绰寞,我揣著相機(jī)與錄音,去河邊找鬼。 笑死滤钱,一個(gè)胖子當(dāng)著我的面吹牛觉壶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播件缸,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼铜靶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了他炊?” 一聲冷哼從身側(cè)響起争剿,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痊末,沒想到半個(gè)月后蚕苇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凿叠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年涩笤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盒件。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辆它,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出履恩,到底是詐尸還是另有隱情锰茉,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布切心,位于F島的核電站飒筑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏绽昏。R本人自食惡果不足惜协屡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望全谤。 院中可真熱鬧肤晓,春花似錦、人聲如沸认然。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卷员。三九已至盈匾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間毕骡,已是汗流浹背削饵。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工岩瘦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窿撬。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓启昧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親劈伴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子箫津,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 索引 數(shù)據(jù)庫中的查詢操作非常普遍苏遥,索引就是提升查找速度的一種手段 索引的類型 從數(shù)據(jù)結(jié)構(gòu)角度分 1.B+索引:傳統(tǒng)...
    一凡呀閱讀 2,882評(píng)論 0 8
  • 一、概述 數(shù)據(jù)庫鎖定機(jī)制簡單來說赡模,就是數(shù)據(jù)庫為了保證數(shù)據(jù)的一致性田炭,而使各種共享資源在被并發(fā)訪問變得有序所設(shè)計(jì)的一種...
    不變甄心閱讀 2,732評(píng)論 0 3
  • 文章導(dǎo)讀: 累兮,累兮漓柑,要死兮...... 本文解決問題: 1教硫、表級(jí)鎖定(讀鎖、寫鎖) 2辆布、行級(jí)鎖定(共享鎖瞬矩、排他...
    創(chuàng)造new_world閱讀 637評(píng)論 0 1
  • 不知道是不是能夠保存草稿
    雨做的云123閱讀 210評(píng)論 0 0
  • 電影《二十二》并沒有怎么宣傳,至少?zèng)]有那些大片《三生三世》锋玲、《戰(zhàn)狼2》等等來的廣為人知屹堰,更多的是在一種平淡...
    一葦說閱讀 221評(píng)論 0 1