最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MYSQL 解鎖與鎖表介紹

 更新時(shí)間:2017年04月06日 22:59:15   投稿:mdxy-dxy  
相對(duì)其他數(shù)據(jù)庫(kù)而言,MySQL的鎖機(jī)制比較簡(jiǎn)單,其最顯著的特點(diǎn)是不同的存儲(chǔ)引擎支持不同的鎖機(jī)制

MySQL鎖概述
 
相對(duì)其他數(shù)據(jù)庫(kù)而言,MySQL的鎖機(jī)制比較簡(jiǎn)單,其最顯著的特點(diǎn)是不同的存儲(chǔ)引擎支持不同的鎖機(jī)制。比如,MyISAM和MEMORY存儲(chǔ)引擎采用的是表級(jí)鎖(table-level locking);BDB存儲(chǔ)引擎采用的是頁(yè)面鎖(page-level locking),但也支持表級(jí)鎖;InnoDB存儲(chǔ)引擎既支持行級(jí)鎖(row-level locking),也支持表級(jí)鎖,但默認(rèn)情況下是采用行級(jí)鎖。
 
MySQL這3種鎖的特性可大致歸納如下。
 
開(kāi)銷(xiāo)、加鎖速度、死鎖、粒度、并發(fā)性能
 
l         表級(jí)鎖:開(kāi)銷(xiāo)小,加鎖快;不會(huì)出現(xiàn)死鎖;鎖定粒度大,發(fā)生鎖沖突的概率最高,并發(fā)度最低。
l         行級(jí)鎖:開(kāi)銷(xiāo)大,加鎖慢;會(huì)出現(xiàn)死鎖;鎖定粒度最小,發(fā)生鎖沖突的概率最低,并發(fā)度也最高。
l         頁(yè)面鎖:開(kāi)銷(xiāo)和加鎖時(shí)間界于表鎖和行鎖之間;會(huì)出現(xiàn)死鎖;鎖定粒度界于表鎖和行鎖之間,并發(fā)度一般。
 
MyISAM表鎖

MyISAM存儲(chǔ)引擎只支持表鎖,這也是MySQL開(kāi)始幾個(gè)版本中唯一支持的鎖類(lèi)型。隨著應(yīng)用對(duì)事務(wù)完整性和并發(fā)性要求的不斷提高,MySQL才開(kāi)始開(kāi)發(fā)基于事務(wù)的存儲(chǔ)引擎,后來(lái)慢慢出現(xiàn)了支持頁(yè)鎖的BDB存儲(chǔ)引擎和支持行鎖的InnoDB存儲(chǔ)引擎(實(shí)際 InnoDB是單獨(dú)的一個(gè)公司,現(xiàn)在已經(jīng)被Oracle公司收購(gòu))。但是MyISAM的表鎖依然是使用最為廣泛的鎖類(lèi)型。本節(jié)將詳細(xì)介紹MyISAM表鎖的使用。
查詢(xún)表級(jí)鎖爭(zhēng)用情況

可以通過(guò)檢查table_locks_waited和table_locks_immediate狀態(tài)變量來(lái)分析系統(tǒng)上的表鎖定爭(zhēng)奪:
mysql> show status like 'table%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| Table_locks_immediate | 2979  |
| Table_locks_waited    | 0     |
+-----------------------+-------+
2 rows in set (0.00 sec))
如果Table_locks_waited的值比較高,則說(shuō)明存在著較嚴(yán)重的表級(jí)鎖爭(zhēng)用情況。
 
獲取InnoDB行鎖爭(zhēng)用情況   

可以通過(guò)檢查InnoDB_row_lock狀態(tài)變量來(lái)分析系統(tǒng)上的行鎖的爭(zhēng)奪情況:
mysql> show status like 'innodb_row_lock%';
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| InnoDB_row_lock_current_waits | 0     |
| InnoDB_row_lock_time          | 0     |
| InnoDB_row_lock_time_avg      | 0     |
| InnoDB_row_lock_time_max      | 0     |
| InnoDB_row_lock_waits         | 0     |
+-------------------------------+-------+
5 rows in set (0.01 sec)
如果發(fā)現(xiàn)鎖爭(zhēng)用比較嚴(yán)重,如InnoDB_row_lock_waits和InnoDB_row_lock_time_avg的值比較高,還可以通過(guò)
 

解鎖

第一種

show processlist;

找到鎖進(jìn)程,kill id ;

第二種

mysql>UNLOCK TABLES;

鎖表

鎖定數(shù)據(jù)表,避免在備份過(guò)程中,表被更新

mysql>LOCK TABLES tbl_name READ;

為表增加一個(gè)寫(xiě)鎖定:

mysql>LOCK TABLES tbl_name WRITE;

相關(guān)文章

  • 解決MySQL報(bào)錯(cuò):You?can‘t?specify?target?table?‘region‘?for?update?in?FROM?clause

    解決MySQL報(bào)錯(cuò):You?can‘t?specify?target?table?‘region‘?for?

    這篇文章主要給大家介紹了關(guān)于MySQL報(bào)錯(cuò):You?can‘t?specify?target?table?‘region‘?for?update?in?FROM?clause的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • MySQL中datetime時(shí)間字段的四舍五入操作

    MySQL中datetime時(shí)間字段的四舍五入操作

    這是由一則生產(chǎn)環(huán)境問(wèn)題引出的MySQL對(duì)于datetime時(shí)間類(lèi)型字段中毫秒的處理的深究,這篇文章主要給大家介紹了關(guān)于MySQL中datetime時(shí)間字段的四舍五入操作的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Mysql中g(shù)roup by 使用中發(fā)現(xiàn)的問(wèn)題

    Mysql中g(shù)roup by 使用中發(fā)現(xiàn)的問(wèn)題

    當(dāng)使用MySQL的GROUP BY語(yǔ)句時(shí),根據(jù)指定的列對(duì)結(jié)果進(jìn)行分組,這種情況通常是由于在 GROUP BY 中選擇的字段與其他非聚合字段不兼容,或者在 SELECT 子句中沒(méi)有正確使用聚合函數(shù)所導(dǎo)致的,本文給大家介紹Mysql中g(shù)roup by 使用中發(fā)現(xiàn)的問(wèn)題,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 探究MySQL中索引和提交頻率對(duì)InnoDB表寫(xiě)入速度的影響

    探究MySQL中索引和提交頻率對(duì)InnoDB表寫(xiě)入速度的影響

    這篇文章主要介紹了MySQL中索引和提交頻率對(duì)InnoDB表寫(xiě)入速度的影響,作者通過(guò)實(shí)際測(cè)試運(yùn)行時(shí)間的對(duì)比來(lái)驗(yàn)證,需要的朋友可以參考下
    2015-05-05
  • sqoop export導(dǎo)出 map100% reduce0% 卡住的多種原因及解決

    sqoop export導(dǎo)出 map100% reduce0% 卡住的多種原因及解決

    這篇文章主要介紹了sqoop export導(dǎo)出 map100% reduce0% 卡住的多種原因及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • 圖文并茂地講解Mysql索引(index)

    圖文并茂地講解Mysql索引(index)

    在關(guān)系數(shù)據(jù)庫(kù)中,索引是一種單獨(dú)的、物理的數(shù)對(duì)數(shù)據(jù)庫(kù)表中一列或多列的值進(jìn)行排序的一種存儲(chǔ)結(jié)構(gòu),下面這篇文章主要給大家介紹了關(guān)于Mysql索引(index)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • mysql 實(shí)現(xiàn)互換表中兩列數(shù)據(jù)方法簡(jiǎn)單實(shí)例

    mysql 實(shí)現(xiàn)互換表中兩列數(shù)據(jù)方法簡(jiǎn)單實(shí)例

    這篇文章主要介紹了mysql 實(shí)現(xiàn)互換表中兩列數(shù)據(jù)方法簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • mysql創(chuàng)建表設(shè)置表主鍵id從1開(kāi)始自增的解決方案

    mysql創(chuàng)建表設(shè)置表主鍵id從1開(kāi)始自增的解決方案

    在MySQL中用很多類(lèi)型的自增ID,每個(gè)自增ID都設(shè)置了初始值,一般情況下初始值都是從0開(kāi)始,然后按照一定的步長(zhǎng)增加(一般是自增 1),下面這篇文章主要給大家介紹了關(guān)于mysql創(chuàng)建表設(shè)置表主鍵id從1開(kāi)始自增的解決方案,需要的朋友可以參考下
    2023-04-04
  • MySQL 5.7增強(qiáng)版Semisync Replication性能優(yōu)化

    MySQL 5.7增強(qiáng)版Semisync Replication性能優(yōu)化

    這篇文章主要介紹了MySQL 5.7增強(qiáng)版Semisync Replication性能優(yōu)化,本文著重講解支持發(fā)送binlog和接受ack的異步化、支持在事務(wù)commit前等待ACK兩項(xiàng)內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • 關(guān)于Mysql子查詢(xún)的三個(gè)應(yīng)用場(chǎng)景

    關(guān)于Mysql子查詢(xún)的三個(gè)應(yīng)用場(chǎng)景

    這篇文章主要介紹了關(guān)于Mysql子查詢(xún)的三個(gè)應(yīng)用場(chǎng)景,子查詢(xún)是在一個(gè)完整的查詢(xún)語(yǔ)句中,嵌套不同功能的小查詢(xún),從而完成復(fù)雜查詢(xún)的一種編寫(xiě)形式,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

莱阳市| 正安县| 老河口市| 响水县| 泾川县| 池州市| 扬中市| 平遥县| 庆元县| 木兰县| 镇平县| 金阳县| 徐汇区| 兴义市| 鹤岗市| 乐山市| 临沭县| 汕尾市| 中山市| 金阳县| 阿拉善左旗| 金湖县| 来宾市| 大宁县| 吉木乃县| 邛崃市| 汽车| 陆川县| 新化县| 新化县| 诸暨市| 武宁县| 漳平市| 阿城市| 易门县| 重庆市| 民丰县| 山阳县| 辉县市| 朝阳县| SHOW|