tag innodb

標籤
貢獻11
76
07:35 AM · Nov 04 ,2025

@innodb / 博客 RSS 訂閱

愛可生開源社區 - MySQL 的鎖等待超時到底是怎麼回事?

鎖等待之後有兩種結果:獲得鎖、超時,這一期先來看看鎖等待超時之後都要幹什麼? 作者:操盛春,愛可生技術專家,公眾號『一樹一溪』作者,專注於研究 MySQL 和 OceanBase 源碼。 愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 本文基於 MySQL 8.0.32 源碼,存儲引擎為 InnoDB。 正文 1. 超時檢查線程 InnoDB 有個名為 ib

MySQL , innodb , 數據庫

收藏 評論

今夜有點兒涼 - MySQL底層是如何實現事物的四大特性的?

MySQL如何實現事務的四大特性(ACID) MySQL的事務支持主要通過InnoDB存儲引擎實現,其底層機制結合日誌系統(Undo Log/Redo Log)、鎖機制和多版本併發控制(MVCC),具體實現如下: 1. 原子性(Atomicity) 定義:事務的所有操作要麼全部成功,要麼全部失敗回滾。 實現: Undo Log(回滾日誌): 在事務修改數據前,Und

MySQL , undo-redo , innodb , 事務 , mvcc

收藏 評論

愛可生開源社區 - MySQL 在 RC 隔離級別插入記錄,唯一索引衝突加什麼鎖?

對比上一篇,這篇聊聊【讀已提交】隔離級別下,唯一索引衝突怎麼加鎖。 作者:操盛春,愛可生技術專家,公眾號『一樹一溪』作者,專注於研究 MySQL 和 OceanBase 源碼。 愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 本文基於 MySQL 8.0.32 源碼,存儲引擎為 InnoDB。 目錄 [TOC] 正文 1. 準備工作 創建測試表: CR

MySQL , innodb , , 數據庫 , 事務

收藏 評論

愛可生開源社區 - MySQL 核心模塊揭秘 | 07 期 | 二階段提交 (1) prepare 階段

二階段提交的 prepare 階段,binlog 和 InnoDB 各自會有哪些動作? 本文基於 MySQL 8.0.32 源碼,存儲引擎為 InnoDB。 1. 二階段提交 二階段提交,顧名思義,包含兩個階段,它們是: prepare 階段。 commit 階段。 我們只考慮 SQL 語句操作 InnoDB 表的場景,對於用户事務,是否使用二階段提交,取決於是否開啓了 binlog。 因

MySQL , innodb , 事務

收藏 評論

愛可生開源社區 - MySQL 核心模塊揭秘 | 06 期 | 事務提交之前,binlog 寫到哪裏?

1. 準備工作 參數配置: binlog_format = ROW binlog_rows_query_log_events = OFF 創建測試表: CREATE TABLE `t_binlog` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `i1` int DEFAULT '0', `str1` varchar(32) DEFAULT

MySQL , innodb , 事務

收藏 評論

愛可生開源社區 - MySQL 核心模塊揭秘 | 05 期 | 讀事務和只讀事務的變形記

事務都以讀事務身份啓動,讀事務和只讀事務會在需要時發生變化,它們會怎麼變化?這是本文要回答的問題。 作者:操盛春,愛可生技術專家,公眾號『一樹一溪』作者,專注於研究 MySQL 和 OceanBase 源碼。 愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 本文基於 MySQL 8.0.32 源碼,存儲引擎為 InnoDB。 1. update、delete

MySQL , innodb , 事務

收藏 評論

愛可生開源社區 - MySQL 核心模塊揭秘 | 04 期 | 終於要啓動事務了

做了那麼多準備工作,終於要啓動 InnoDB 事務了。 作者:操盛春,愛可生技術專家,公眾號『一樹一溪』作者,專注於研究 MySQL 和 OceanBase 源碼。 愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 本文基於 MySQL 8.0.32 源碼,存儲引擎為 InnoDB。 1. 啓動事務 在《BEGIN 語句會馬上啓動事務嗎?》這篇文章中,我們介紹

MySQL , innodb , 事務

收藏 評論

愛可生開源社區 - MySQL 核心模塊揭秘 | 03 期 | 我是一個事務,請給我一個對象

每個事務都有一個對象,這篇文章我們聊聊,事務的對象從哪裏來,要到哪裏去。 作者:操盛春,愛可生技術專家,公眾號『一樹一溪』作者,專注於研究 MySQL 和 OceanBase 源碼。 愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 我是一個事務,請給我一個對象 本文基於 MySQL 8.0.32 源碼,存儲引擎為 InnoDB。 目錄 [TOC] 正文

MySQL , innodb , 事務

收藏 評論

Zeran - Mysql工作面試老大難——鎖

解決併發事務帶來問題的兩種基本方式 併發事務訪問相同記錄的情況可以劃分為3種。 讀 - 讀情況:併發事務相繼續讀取相同的記錄。讀取操作本身不會對記錄有任何影響,不會引起什麼問題,所以允許這種情況的發生。 寫 - 寫情況:併發事務相繼對相同的記錄進行改動。 讀 - 寫或寫 - 讀情況:也就是一個事務進行讀取操作,另一個事務進行改動操作。 寫 - 寫情況 在寫 - 寫情況下會發生髒寫的現象,

MySQL , innodb , , mysql優化

收藏 評論

後廠村村長 - 為啥MySQL的InnoDB在一頁(page)中最少要存儲兩條記錄?

關於這個問題,村長我查過很多信息,有説來自官方,有自己分析的,莫衷一是,要麼太發散,要麼有幾分牽強,現在村長試解答一下。 這個問題其實挺有意思,理論上來説,可以存一條數據,那為啥要有這麼個規則呢? 我們知道,一頁的大小默認為 16*1024=16384 字節,但是,MySQL 允許的一行數據的存儲上限卻為 65535! 當然了,這 65535 個字節除了列本身的數據外,還包括一些其他數據(s

MySQL , innodb , mysql索引

收藏 評論

Zeran - Mysql-undo日誌

回滾段相關配置 配置回滾段數量 mysql系統中共有128個回滾段。其實這是默認值,我們可以通過啓動選項innodb_rollback_segments 來配置回滾段的數量。針對臨時表的回滾段數量一直是32,也就是説: 如果把innodb_rollback_segments的值設置為1,那麼只會有1個針對普通表的可回滾段(1024個undo slot),但是仍然有32個針對臨時表的可用回滾段;

MySQL , innodb , 回滾 , undo

收藏 評論

異常君 - 深入解析 InnoDB 死鎖:從案例到方案,全流程透視指南

大家好!今天我要和各位分享一個在 MySQL 項目中經常讓開發者頭疼的問題——InnoDB 的死鎖問題。相信不少朋友都遇到過這樣的情況:一個好好運行的系統突然報錯,日誌裏冒出"Deadlock found when trying to get lock; try restarting transaction",然後你就開始了漫長的排查之旅... 別擔心,這篇文章會用真實案例帶你從現象到根源,徹底掌

死鎖 , MySQL , innodb , 數據庫 , 後端

收藏 評論

趙渝強老師 - 【趙渝強老師】MySQL InnoDB的數據文件與重做日誌文件

MySQL與Oracle一樣都是通過邏輯存儲結構來管理物理存儲結構,即管理硬盤上存儲的各種文件。下面將詳細介紹InnoDB存儲引擎中的數據文件和重做日誌文件。 一、數據文件 “.ibd”文件和ibdata文件 這兩種文件都是存放Innodb數據的文件,之所以有兩種文件來存放Innodb的數據(包括索引),是因為 Innodb 的數據存儲方式能夠通過配置來決定是使用共享表空間存放存儲數據,還是獨享表

MySQL , innodb , 數據庫 , SQL

收藏 評論

技術博客領航者 - mysql 每秒自動執行某些語句

一、需求 一個朋友接到一個需求,從大數據平台收到一個數據寫入在20億+,需要快速地加載到MySQL中,供第二天業務展示使用。 二、實現再分析 對於單表20億, 在MySQL運維,説真的這塊目前涉及得比較少,也基本沒什麼經驗,但對於InnoDB單表Insert 如果內存大於數據情況下,可以維持在10萬-15萬行寫入。但很多時間我們接受的項目還是數據超過內存

MySQL , innodb , 分佈式存儲 , 數據庫 , mysql 每秒自動執行某些語句 , Css

收藏 評論

iamrockrepublic - 一名合格的後端開發,到底需要多瞭解mysql - 6&7

6 - 鎖 lock 和 latch latch:內存中的輕量級互斥量或讀寫鎖,其目的是為了保證併發線程操作臨界資源的正確性。無死鎖檢測和處理機制。 lock:鎖定數據庫中的對象,比如表,頁,行等,其目的是為了保證併發事務操作表對象的正確性。可通過 等待有向圖 和 超時機制進行死鎖檢測和處理。 以下討論的內容都是和lock相關的。 Innodb中鎖的類型 行級鎖: 共享鎖(讀鎖):可以和

MySQL , innodb , 面試 , 後端

收藏 評論

京東雲開發者 - MySQL之InnoDB存儲結構 | 京東物流技術團隊

1 InnoDB存儲引擎 InnoDB存儲引擎最早由Innobase Oy公司開發(屬第三方存儲引擎)。從MySQL 5.5版本開始作為表的默認存儲引擎。該存儲引擎是第一個完整支持ACID事務的MySQL存儲引擎,特點是行鎖設計、支持MVCC、支持外鍵、提供一致性非鎖定讀,非常適合OLTP場景的應用使用。目前也是應用最廣泛的存儲引擎。 InnoDB存儲引擎架構包含內存結構和磁盤結構兩大部分,總體架

MySQL , innodb , 存儲 , 數據庫

收藏 評論

京東雲開發者 - MySQL innoDB 間隙鎖產生的死鎖問題 | 京東雲技術團隊

背景 線上經常偶發死鎖問題,當時處理一張表,也沒有聯表處理,但是有兩個mq入口,並且消息體存在一樣的情況,頻率還不是很低,這麼一個背景,我非常容易懷疑到,兩個消息同時近到這一個事務裏面導致的,但是是偶發的,又模擬不出來什麼場景會導致死鎖,只能進行代碼分析,問題還原的方式去排查問題。 業務代碼簡化成下面 begin update test set yn = 0 where dm_code = "

死鎖 , MySQL , innodb , 數據庫

收藏 評論

愛可生開源社區 - MySQL 核心模塊揭秘 | 02 期 | BEGIN 語句會馬上啓動事務嗎?

聊聊最常用也是最簡單的 BEGIN 語句,開始一個事務的過程中都幹了什麼。 作者:操盛春,愛可生技術專家,公眾號『一樹一溪』作者,專注於研究 MySQL 和 OceanBase 源碼。 愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 BEGIN 語句會馬上啓動事務嗎? 本文基於 MySQL 8.0.32 源碼,存儲引擎為 InnoDB。 目錄 [TOC]

MySQL , innodb , 事務

收藏 評論

Bytebase - 哪個更快,全表掃描還是建立索引?

最近在 HN 上看到一個帖子:全表掃描優於建索引的情況,看了一下作者原文 ,還挺有趣的,分享給大家。 有時為了方便快速搜索大量數據,一種方法是建立索引進行預處理,這樣搜索只需要查看一小部分數據。然而,值得建立索引的門檻可能比你想象的要高。以下是我經歷過的全表掃描反而更好的案例: 十年前我為一個小型計費服務編寫了一個內部通信應用程序。消息存儲在 MySQL 中,如果全表搜索變慢或者遇到負載問題的

MySQL , 索引 , innodb , 數據庫 , postgresql

收藏 評論

nullwy - InnoDB 的併發控制:鎖與 MVCC

原文:https://nullwy.me/2023/07/innodb-locking/ 如果覺得我的文章對你有用,請隨意讚賞 目前主流數據庫事務的併發控制實現,如 MySQL InnoDB、PostgreSQL、Oracle,都使用兩階段封鎖 2PL 與 MVCC 技術,但具體實現細節上存在差異。InnoDB 是在以封鎖技術為主體的情況下,用 MVCC 技術輔助實現讀-寫、寫-讀操作

MySQL , innodb

收藏 評論

Zeran - Buffer Pool

Inndb的Buffer Pool 簡介 BufferPool組成 free鏈表的管理 緩衝頁的哈希處理 flush鏈表的管理 LRU鏈表的管理 查看Buffer Pool的狀態信息

MySQL , innodb , bufferpool

收藏 評論

Zeran - 事務隔離級別和MVCC

事務隔離級別 事務併發執行時遇到的一致性問題 髒寫 如果一個事務修改了另一個為提交事務修改過的事務,就意味着發生了髒寫現象。我們可以把髒寫現象簡稱為P0.假設現在事務T1和T2併發執行,它們都要訪問數據項x(可以把數據項x當作一條記錄的某個字段)。那麼P0對應的操作執行序列如下所示: p0: w1[x]...w2[x]...((c1 or a1) and (c2 or a2) in any ord

MySQL , innodb , 事務 , mvcc

收藏 評論

愛可生開源社區 - MySQL 核心模塊揭秘 | 01 期 | 事務的起源:事務池和管理器的初始化

愛可生開源社區 2024 全新技術專欄《MySQL 核心模塊揭秘》第一期。 作者:操盛春,愛可生技術專家,公眾號『一樹一溪』作者,專注於研究 MySQL 和 OceanBase 源碼。 愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 本文基於 MySQL 8.0.32 源碼,存儲引擎為 InnoDB。 1. 事務池和管理器 作為 MySQL 中支持事務的默認存

MySQL , innodb , 事務

收藏 評論

今夜有點兒涼 - MyISAM與InnoDB對比分析

MySQL存儲引擎:MyISAM與InnoDB對比分析 一、核心架構與特點對比 特性 MyISAM InnoDB 事務支持 不支持事務 支持ACID事務 鎖粒度 表級鎖 行級鎖(支持表級鎖) 併發性能 低(表鎖限制) 高(行鎖優勢) 外鍵約束 不支

innodb , myisam , 存儲引擎

收藏 評論