innodb元資料鎖解釋
什麼是元資料鎖?
其實在mysql 5.5.3開始之後的版本,針對innodb表,任何已經開始的事務將一直持有元資料鎖,一直到事務提交,另外使用alter對錶結構進行修改的時候,也會持有元資料鎖,直到alter語句結束。
1、建立一張innodb引擎的測試表
插入2行資料
mysql> insert into db1 values(1,'小明'),(2,'小剛');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
2、開啟A事務,進行對錶查詢
3、開啟B事務,對錶結構進行修改
可以看到alter
4、執行show processlist;看到當前執行緒
小結:
在A事務中的select操作個db1表添加了元資料讀鎖,在B事務中alter table操作對db1表添加了元資料寫鎖,只有當A事務提交或者回滾,才會釋放元資料讀鎖,B事務的alter操作才可以繼續執行。
之前看到另外博主遇到MySQL版本為5.5,表是myisam引擎,做ddl時出現了Waiting for table metadata lock,myisam是非事務引擎,這個典型是一個問題,值得深思。
http://blog.csdn.net/cug_jiang126com/article/details/51698236
相關推薦
innodb元資料鎖解釋
什麼是元資料鎖? 其實在mysql 5.5.3開始之後的版本,針對innodb表,任何已經開始的事務將一直持有元資料鎖,一直到事務提交,另外使用alter對錶結構進行修改的時候,也會持有元資料鎖,直到alter語句結束。 1、建立一張innodb引擎的測試表 插入2行
MySQL如何檢視元資料鎖阻塞在哪個語句上
方法: 1)執行show processlist;,可以看到drop語句在等待元資料鎖 mysql> show processlist; +----+-------------+-----------+------+---------+---------+---------------
深入理解MySQL的MDL元資料鎖
前言 好久沒更新,主要是因為Inside君最近沉迷於一部動畫片——《新葫蘆娃兄弟》。終於抽得閒,完成了本篇關於MySQLMDL鎖的深入分析與介紹。雖然之前有很多小夥伴分析過,但總感覺少了點什麼,故花了點時間翻看了下原始碼。Inside君或許不是最牛掰的核心開發人員,但自認為應該是業界最會講故事的碼
mysql中的元資料鎖
為了保證事務在執行的過程中,不會因為ddl語句導致事務失敗,mysql中出現了元資料鎖。下面簡單測試下 session A: test>begin -> ; Query OK, 0 rows affected (0.01 sec) .test>in
MDL--元資料鎖的鎖請求與鎖等待+元資料鎖類物件
1 元資料鎖的鎖請求與鎖等待 元資料鎖在MySQL Server層,按照鎖的狀態被細分為兩種,一種是已經施加的鎖,一種是等待施加的鎖即鎖請求,這樣被區分的原因,如MySQL對“class MDL_
mysql innodb插入意向鎖
ins 之間 等待 為什麽 pos 使用 key 插入 由於 innodb中有插入意向鎖。專門針對insert,假設插入前,該間隙已經由gap鎖,那麽Insert會申請插入意向鎖。那麽這個插入意向鎖的作用是什麽? 1、為了喚起等待。由於該間隙已經有鎖,插入時必須堵
MySQL Innodb 中的鎖
upd 種類型 共享鎖 隔離 AD 釋放 ble 完整性 ext MySQL Innodb 中的鎖 鎖是用來解決並發沖突的必要手段,MySQL 中的並發主要是指多個線程同時對同一個數據庫進行操作,其中不同線程可能代表不同的事務,本質上也就是對共享資源的不同事務的同時訪問。
基礎知識漫談(4):講講元資料
說幾個風馬牛不相及的詞兒,spring的依賴注入定義,hibernate的資料對映定義,XML的DTD,再就是我們常說的報文格式。 如果對它們不甚瞭解,請參考章節一《想到哪兒寫到哪兒》。有了基本的瞭解之後,應當隱約之中有一種感覺,“它們很相似”。 本篇文章要說的就是這個相似性,我管它叫做資料
IIS 元資料訪問失敗
辦公室的機器上是裝的 VS2010,Win7, IIS 7.5 但家裡的機器是 XP Professional 2002 sp3, 沒辦法,只能裝 專門針對 xp pro sp3版的 IIS 5.1 這個版本的 iis 不是很好找, 最後還是在 CSDN上找到了: ( xp pro s
NC6.5 做主子表單據 釋出元資料錯誤: ORA-00001: 違反唯一約束條件 (NC65.PK_MD_BIZITFMAP)
NC6.5 做主子表單據 釋出元資料錯誤: ORA-00001: 違反唯一約束條件 (NC65.PK_MD_BIZITFMAP); class com.yonyou.studio.mdp.database.connection.exception.DBException:java.s
Impala元資料同步命令使用規則
invalidate metadata操作比refresh要重量級 如果涉及到表的schema改變,使用invalidate metadata [table] 如果只是涉及到表的資料改變,使用refresh [table] 如果只是涉及到表的某一個分割槽資料改變,使用refresh [table
(三)Hive元資料資訊對應MySQL資料庫表
(三)Hive元資料資訊對應MySQL資料庫表 目錄 概述 一、儲存Hive版本的元資料表(VERSION) 二、Hive資料庫相關的元資料表(DBS、DATABASE_PARAMS) 1、DBS 2、DATABASE_P
餓了麼元資料管理實踐之路
一、背景 大資料挑戰 大資料時代,餓了麼面臨資料管理、資料使用、資料問題等多重挑戰。具體可以參考下圖: 資料問題:多種執行、儲存引擎,分鐘、小時、天級的任務排程,怎樣梳理資料的時間線變化? 資料使用:任務、表、列、指標等資料,如何進行檢索、複用、清理、熱度Top計算? 資料管理:怎樣對錶、列、指
使用com.sun.imageio.plugins.png.PNGMetadata讀取圖片的元資料
所謂圖片元資料,就是除了我們肉眼看到的圖片內容外,隱藏在這些內容背後的一些技術資料。 本文介紹如何使用Java程式碼將一張圖片的隱藏資訊讀取出來。 首先不需要下載任何額外的Java庫,用JDK自帶的庫就能工作。 import java.io.ByteArrayInputStream; import j
InnoDB引擎——6.鎖篇
InnoDB引擎——6.鎖篇 行級鎖神話——行級鎖總會增加開銷 實際上,只有當實現本身會增加開銷時,行級鎖才會增加開銷,InnoDB儲存引擎不需要鎖升級,因為一個鎖和多個鎖的開銷是相同的。如何理解? MyISAM是表鎖,資料庫中lock和latch都是鎖, latch更輕量,la
大資料(十八):Hive元資料配置、常見屬性配置、資料型別與資料轉換
一、Hive元資料配置到MySQL當中 為什麼要把Hive的元資料配置到MySql中?我們可以使用多個客戶端連線linux系統並且都嘗試啟動Hive,可以發現在啟動第二個Hive客戶端的時候發生報錯了。  
JDBC-元資料
元資料 元資料:用來描述資料的資料(用來描述資料的含義的一些資訊) 如:列名、表的資訊 表示資料庫連線的元資料 conn=DriverManager.getConnection(url,usrname,psw); DatabaseMetaData dmd=conn.getM
2018年11月11日 關於Vue的命名檢視 and 導航鉤子 and 元資料及路由匹配
1、命名檢視 //在html中相關程式碼 <div id="app"> <div> <router-link to="/">首頁</router-link> <router-link to="/
《compass-reference》翻譯計劃之:第9章. 通用元資料
第9章. 通用元資料 9.1 介紹 Compass Core中的通用元資料,提供了OSEM檔案中使用的元資料名和別名的定義——特別是你的應用中通過多個OSEM檔案定了一個非常大的領域模型時,它顯得非常有用。這個機制的另一個優勢是,它可以增加額外的元資料資訊
【元資料管理】Atlas術語(Glossary)
Atlas的術語表(Glossary)提供了一些適當的“單詞”,這些“單詞”能彼此進行關連和分類,以便業務使用者在使用的時候,即使在不同的上下文中也能很好的理解它們。此外,這些術語也是可以對映到資料資產中的,比如:資料庫,表,列等。 術語表抽象出了和資料相關的專業術語,使得使用者能以他們更熟悉的方式去查詢和