国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

MySQL數(shù)據(jù)庫(kù)鎖定機(jī)制?這篇文章告訴你

數(shù)據(jù)庫(kù) MySQL
各存儲(chǔ)引擎使用三種類型鎖定機(jī)制:行級(jí)鎖定、表級(jí)鎖定頁(yè)級(jí)鎖定。表級(jí)鎖定主要是 MyISAM、Memory、CSV 等一些非事務(wù)性存儲(chǔ)引擎,使用行級(jí)鎖定主要是 InnoDB 存儲(chǔ)引擎和 NDB Cluster 存儲(chǔ)引擎,頁(yè)級(jí)鎖定主要是BerkeleyDB存儲(chǔ)引擎

MySQL數(shù)據(jù)庫(kù)鎖定機(jī)制?這篇文章告訴你

1. MySQL 鎖定機(jī)制簡(jiǎn)介

各存儲(chǔ)引擎使用三種類型鎖定機(jī)制

  • 行級(jí)鎖定(row-level)
  • 表級(jí)鎖定(table-level)
  • 頁(yè)級(jí)鎖定(page-leve) : 頁(yè)級(jí)鎖定介于行級(jí)鎖定與表級(jí)鎖定之間。

2. MySQL數(shù)據(jù)庫(kù)中 

表級(jí)鎖定主要是 MyISAM、Memory、CSV 等一些非事務(wù)性存儲(chǔ)引擎,使用行級(jí)鎖定主要是 InnoDB 存儲(chǔ)引擎和 NDB Cluster 存儲(chǔ)引擎,頁(yè)級(jí)鎖定主要是BerkeleyDB存儲(chǔ)引擎

3. MyISAM 表級(jí)鎖定主要分為兩種類型

  • 讀鎖定,一個(gè)新客戶端在申請(qǐng)獲取讀鎖定資源的時(shí)候,需要滿足兩個(gè)條件:
    • 請(qǐng)求鎖定的資源當(dāng)前沒(méi)有被寫鎖定
    • 寫鎖定等待隊(duì)列 (Pending write-lock queue)中沒(méi)有更高優(yōu)先級(jí)的寫鎖定在等待
    • (只影響寫操作)
  • 寫鎖定
    • (影響讀操作,同時(shí)也影響寫操作)

4.  MySQL中主要分4中隊(duì)列來(lái)維護(hù)這兩種鎖定:

兩個(gè)存放當(dāng)前正在鎖定的讀和寫鎖定信息,另外兩個(gè)存放等待中的讀寫鎖定西信息,如下:

  • Current read-lock queue ( lock->read)
  • Pending read-lock queue (lock->read_wait)
  • Current write-lock queue (lock->write)
  • Pending write-lock queue (lock->write_wait)

5. InnoDB 的行級(jí)鎖定分為四種類型

  • 共享鎖 (有叫做:讀鎖)
    • 允許一個(gè)事務(wù)去讀一行,阻止其他事務(wù)獲得相同數(shù)據(jù)的排它鎖。
  • 排他鎖 (有叫做:寫鎖)
    • 允許獲得排它鎖的事務(wù)更新數(shù)據(jù),阻止其他事務(wù)
  • 意向共享鎖
  • 意向排他鎖

6.  InnoDB 間隙鎖

InnoDB 的鎖定是通過(guò)在指向數(shù)據(jù)記錄的***個(gè)索引鍵之前和***一個(gè)索引鍵之后的空域空間標(biāo)記鎖定信息實(shí)現(xiàn)的。這種鎖定方式被稱為 "NEXT-KEY locking"(間隙鎖)

間隙鎖弱點(diǎn):鎖定一個(gè)范圍之后,即使某些不存在的鍵值也會(huì)被無(wú)辜鎖定,造成鎖定的時(shí)候無(wú)法插入鍵值鎖定內(nèi)的任何數(shù)據(jù)。

通過(guò)索引實(shí)現(xiàn)鎖定的方式存在其他幾個(gè)較大的性能隱患:

  1. 當(dāng) Query 無(wú)法利用索引的時(shí)候,InnoDB 會(huì)放棄使用 行級(jí)鎖定 而改用 表級(jí)鎖定 ,造成并發(fā)性能降低;
  2. 當(dāng) Query 使用的索引并不包含所有過(guò)濾條件時(shí),數(shù)據(jù)檢索使用到的索引鍵中的數(shù)據(jù)可能有部分不屬于 Query 的結(jié)果集行列,但是也會(huì)被鎖定,因?yàn)殚g隙鎖鎖定的是一個(gè)范圍,而不是具體的索引鍵。
  3. 當(dāng) Query 在使用索引定位數(shù)據(jù)的時(shí)候,如果使用的索引鍵一樣但訪問(wèn)的數(shù)據(jù)行不同 (索引只是過(guò)濾條件的一部分), 他們一樣會(huì)被鎖定。

7. MyISAM 表鎖優(yōu)化建議

  • 縮短鎖定時(shí)間
    • 盡量減少大的復(fù)雜 Query,將復(fù)雜 Query 拆分成幾個(gè)小的 Query 執(zhí)行。
    • 盡可能地建立足夠高效的索引,讓數(shù)據(jù)檢索更迅速。
    • 盡量讓MyISAM 存儲(chǔ)引擎的表只存放必要的信息,控制字段類型。
    • 利用合適的機(jī)會(huì)優(yōu)化 MyISAM 表數(shù)據(jù)文件。
  • 分離能并行的操作
    • concurrent_insert = 2,無(wú)論 MyISAM 存儲(chǔ)引擎的表數(shù)據(jù)文件的中間部分是否存在因?yàn)閯h除數(shù)據(jù)而留下的空閑空間,都允許在數(shù)據(jù)文件尾部進(jìn)行Concurrent Insert。
    • concurrent_insert = 1,MyISAM 存儲(chǔ)引擎表數(shù)據(jù)文件中間不存在空閑空間的時(shí)候,可以從文件尾部進(jìn)行 Concurrent Insert。
    • concurrent_insert = 0, 無(wú)論 MyISAM 存儲(chǔ)引擎的表數(shù)據(jù)文件的中間部分是否存在因?yàn)閯h除數(shù)據(jù)而留下的空閑空間,都不允許 Concurrent Insert。(讀鎖時(shí),不允許插入)
    • MyISAM 并非只能完全的串行化,MyISAM 存儲(chǔ)引擎還有一個(gè)特性 Concurrent Insert(并發(fā)插入)的特性。
    • MyISAM 存儲(chǔ)引擎有一個(gè)控制是否打開(kāi) Concurrent insert 功能的參數(shù)選項(xiàng): concurrent_insert 可以設(shè)置為 0/1/2:具體如下:
  • 合理利用讀寫優(yōu)先級(jí)
    • 表級(jí)鎖定 默認(rèn)情況下寫優(yōu)先級(jí)大于讀,如果讀操作多的時(shí)候,可以設(shè)置讀優(yōu)先級(jí)高,可設(shè)置參數(shù) low_priority_updates = 1。

8.  InnoDB 行鎖優(yōu)化建議

  • 盡可能讓所有的數(shù)據(jù)檢索都通過(guò)索引來(lái)完成,從而避免 InnoDB 因?yàn)闊o(wú)法通過(guò)索引鍵加鎖而升級(jí)為表級(jí)鎖定
  • 合理設(shè)計(jì)索引,讓 InnoDB 在索引鍵上加鎖的時(shí)候盡可能準(zhǔn)確,盡可能地縮小鎖定范圍,避免造成不必要的鎖定而影響其他 Query 的執(zhí)行。
  • 盡可能減少基于范圍的數(shù)據(jù)檢索過(guò)濾條件,避免因間隙鎖帶來(lái)的負(fù)面影響而鎖定了不該鎖定的記錄。
  • 盡量控制事務(wù)大小,減少鎖定的資源量和鎖定的時(shí)間長(zhǎng)度。
  • 在業(yè)務(wù)環(huán)境允許的情況下,盡量使用較低級(jí)別的事務(wù)隔離,減少 MySQL 因?yàn)閷?shí)現(xiàn)事務(wù)隔離級(jí)別所帶來(lái)的附加成本。

9.  系統(tǒng)鎖定爭(zhēng)用情況查詢

MySQL 內(nèi)部有兩組專用的狀態(tài)變量記錄系統(tǒng)內(nèi)部資源爭(zhēng)用情況。

  •  表級(jí)鎖定的爭(zhēng)用狀態(tài)變量

mysql> show status like 'table%';


    • Table_locks_immediate:產(chǎn)生表級(jí)鎖定的次數(shù);
    • Table_locks_waited:出現(xiàn)表級(jí)鎖定爭(zhēng)用而發(fā)生等待的次數(shù)

           Table_locks_immediate 值大于 Table_locks_waited 5000 是比較合適的,在大就需要分析問(wèn)題所在。

           兩個(gè)狀態(tài)值都是從系統(tǒng)啟動(dòng)后開(kāi)始記錄,每出現(xiàn)一次加1,如果這里 Table_locks_waited 狀態(tài)值比較高,說(shuō)明表級(jí)鎖定爭(zhēng)用嚴(yán)重,需進(jìn)一步分析。

  • InnoDB 行級(jí)鎖定狀態(tài)變量記錄

sql> show status like 'innodb_row_lock%';


    • Innodb_row_lock_current_waites:當(dāng)前正在等待鎖定的數(shù)量;
    • Innodb_row_lock_time:從系統(tǒng)啟動(dòng)到現(xiàn)在鎖定總時(shí)間長(zhǎng)度;
    • Innodb_row_lock_time_avg:每次等待所花平均時(shí)間;
    • Innodb_row_lock_time_max:從系統(tǒng)啟動(dòng)到現(xiàn)在等待最長(zhǎng)的一次所花的時(shí)間;
    • Innodb_row_lock_waits:從系統(tǒng)啟動(dòng)到現(xiàn)在總等待次數(shù)。

          5個(gè)狀態(tài),比較重要的是Innodb_row_lock_time_avg(等待平均時(shí)長(zhǎng)),Innodb_row_lock_waits(等待總次數(shù))及Innodb_row_lock_time(等待總時(shí)長(zhǎng))

10.  InnoDB 

除了提供以上5個(gè)系統(tǒng)狀態(tài)變量外,還提供了更為豐富的即時(shí)狀態(tài)信息,實(shí)現(xiàn)方法如下:

  • 創(chuàng)建 InnoDB Monitor 表來(lái)打開(kāi) InnoDB的 monitor 功能

mysql > create table innodb_monitor(a int) engine=innodb;

  • 然后執(zhí)行 ”show innodb status" 查看詳細(xì)信息

     為什么創(chuàng)建 innodb_monitor 表?

創(chuàng)建該表就是告訴InnoDB 我們要開(kāi)始監(jiān)控他的詳細(xì)信息,然后InnoDB就會(huì)將比較詳細(xì)的事務(wù)級(jí)鎖定信息記錄到MySQL的 error log 中,以便后面做進(jìn)一步分析。 

責(zé)任編輯:龐桂玉 來(lái)源: ITPUB
相關(guān)推薦

2020-09-18 10:18:08

MySQL數(shù)據(jù)插入數(shù)據(jù)庫(kù)

2023-12-24 22:42:57

數(shù)據(jù)庫(kù)分片中間件

2020-07-09 10:21:03

網(wǎng)絡(luò)排錯(cuò)TCPIP

2023-04-06 11:10:31

閉包JavaScript

2017-07-05 15:42:58

卷積神經(jīng)網(wǎng)絡(luò)Non-Euclide計(jì)算機(jī)視覺(jué)

2017-07-12 16:56:42

卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù)CNN

2018-10-24 16:25:24

數(shù)據(jù)庫(kù)MySQLxtraback

2018-09-28 09:32:57

2019-01-08 07:43:53

路由器調(diào)制解調(diào)器

2019-10-31 09:48:53

MySQL數(shù)據(jù)庫(kù)事務(wù)

2023-11-30 08:27:38

泛化調(diào)用架構(gòu)

2019-01-28 11:24:53

Windows 功能系統(tǒng)

2017-07-10 13:45:33

自動(dòng)編碼數(shù)據(jù)生成GAN

2019-01-30 13:44:34

JVM內(nèi)存服務(wù)器

2024-04-12 00:00:00

localhost計(jì)算機(jī)機(jī)制

2022-08-29 10:08:50

跨集群

2019-07-10 15:15:23

JVM虛擬機(jī)Java

2021-04-16 16:37:23

SpringMVC源碼配置

2024-01-17 08:18:14

RPAJava技術(shù)

2020-02-12 18:55:24

負(fù)載因子初始值為什么
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国模吧一区二区| 久久久免费在线观看| 欧美日韩高清影院| www.99热.com| 精品视频日韩| 日韩精品一区二区三区在线播放| 少妇av一区二区三区无码| 在线看片一区| 国内揄拍国内精品| 欧美成人黑人| 国产亚洲欧洲高清| 91理论片午午论夜理片久久| 亚洲国产不卡| 中文字幕综合在线| 自拍欧美日韩| 久久国产天堂福利天堂| 国产精品一 二 三| 五月天激情综合网| 欧美aⅴ一区二区三区视频| 亚洲成人www| 欧美黄色免费影院| 亚洲国产电影在线观看| 国产精品极品尤物在线观看| 精品人人人人| 777精品视频| 国产乱码精品一区二区亚洲 | 99免费在线观看视频| 999久久久精品国产| 成人欧美一区二区三区黑人孕妇| 欧美激情电影| 牛人盗摄一区二区三区视频| 日本不卡中文字幕| 国产一二三区在线播放| 色呦呦网站在线观看| 成人免费高清视频| 无码中文字幕色专区| 国产三级欧美三级日产三级99| 日韩精品你懂的| 中文在线资源观看网站视频免费不卡| 婷婷六月天在线| 五月婷婷激情综合网| 欧美日韩视频在线播放| 欧美成人官网二区| 久久69成人| 欧美怡红院视频| 最新97超碰在线| 亚洲精品一区av在线播放| 精品视频在线观看网站| 欧洲亚洲免费在线| 99riav1国产精品视频| 一级黄色片播放| 国产精品视频在线看| 国产成人无码a区在线观看视频| 欧美日韩国产区| 国产精品久久久久久久久久齐齐| 亚洲欧美一区二区激情| 最近中文视频在线| 国产精品国产三级国产专区51| 日韩电影网1区2区| 欧美日韩在线中文字幕| 日韩精品资源二区在线| 99久久精品一区二区成人| 韩国欧美亚洲国产| 日本h片在线观看| 9l亚洲国产成人精品一区二三 | 91国内产香蕉| 91精品亚洲| 综合久久国产| 国产精品看片你懂得| 免费av在线播放| 欧美精品videos性欧美| 亚洲国产高清一区二区三区| 久久精品免费一区二区| 欧美日韩一级片在线观看| 国产精品色婷婷在线观看| 91在线在线观看| 精品成人影院| 色呦呦在线视频| 国产亚洲欧美日韩美女| 日韩视频一区| 成人在线观看视频app| 一区二区欧美激情| 久久久久欧美精品| 亚洲国产欧美一区| 亚洲色诱最新| 久久精品国产综合精品| 美女网站在线免费欧美精品| 写真片福利在线播放| 亚洲亚裔videos黑人hd| 亚洲国产精品成人| 免费观看成人在线视频| 欧美性大战久久久久久久蜜臀| 亚洲精品高潮| 在线观看成人av| 色八戒一区二区三区| 日韩欧美一级| 青草视频在线观看视频| 日韩精品专区在线影院观看| 在线精品国产| 电影天堂爱爱爱爱| 日韩视频免费在线| 免费一区二区视频| 国产中文字幕在线看| 5278欧美一区二区三区| 99精品久久99久久久久| 黄色18在线观看| 白白在线精品| av无码久久久久久不卡网站| 在线观看不卡一区| 免费成人直播| 久久免费视频2| 欧美成人性生活视频| 午夜精品久久17c| 国产精品一品视频| 青春草视频在线| av一本久道久久波多野结衣| 一区二区三区欧美激情| 鲁大师精品99久久久| 国模吧无码一区二区三区| 亚洲奶大毛多的老太婆| 男人操女人的视频在线观看欧美| 丝袜美腿美女被狂躁在线观看| 亚洲在线视频观看| 色婷婷综合五月| 91精品国产自产在线观看永久∴| 两个人看的免费完整在线观看| 欧美亚洲第一区| 国产欧美一区二区三区在线老狼| 波多野结衣家庭教师在线| 日韩av网站电影| 奇米一区二区三区| xxxcom在线观看| 中文字幕亚洲图片| 国模一区二区三区白浆| 草美女在线观看| 午夜探花在线观看| 亚洲欧美日韩一区二区在线| 久久国产婷婷国产香蕉| 美女在线视频免费| 一本色道久久88亚洲精品综合| 亚洲国产免费av| 国产精品一区二区无线| 成人看片网页| 国产精品50p| 久久人人97超碰精品888| 亚洲精品成a人| 亚洲午夜精品一区二区国产| 91社区在线观看| 无遮挡亚洲一区| 正在播放欧美视频| 欧美国产精品一区二区三区| 欧美亚洲精品在线| av中文字幕一区二区三区| 少妇特黄a一区二区三区| 亚洲视频欧洲视频| 久久久久国产成人精品亚洲午夜| 精品视频高潮| 人人九九精品| 欧美精品国产精品久久久| 欧美va在线播放| 99麻豆久久久国产精品免费优播| 国产精品网站在线看| 香蕉97视频观看在线观看| 日韩欧美国产一二三区| 久久国产福利国产秒拍| 激情亚洲小说| 天天看片激情网站| 精品国产乱码久久久久久88av| 国产不卡在线播放| 国产免费av国片精品草莓男男| 男女午夜网站| 国产精品久久久对白| 亚洲精品99999| 国产欧美一区二区精品性色 | 欧美激情视频三区| av色综合久久天堂av综合| 福利在线一区| 欧美女v视频| 国产对白在线播放| 日韩免费中文字幕| 91精品麻豆日日躁夜夜躁| 丁香花高清在线观看完整版| a级网站在线观看| 欧美亚洲成人精品| 日韩欧美精品在线| 中文字幕在线一区| 免费黄网站欧美| 欧美亚洲精品在线| 成人开心激情| 国产在线资源| 亚洲高清在线免费观看| 免费毛片一区二区三区久久久| 欧美国产精品va在线观看| 日韩三级在线免费观看| 自拍偷拍亚洲综合| 国产在线国偷精品产拍免费yy| 91影院成人| 嫩呦国产一区二区三区av| 国产视频一区二区| 久久.com|