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

系統(tǒng)講解MySQL數(shù)據(jù)庫(kù)中事務(wù)的核心機(jī)制與應(yīng)用實(shí)踐

 更新時(shí)間:2026年05月19日 09:26:55   作者:重生之小比特  
在數(shù)據(jù)庫(kù)開(kāi)發(fā)中,事務(wù)是保障數(shù)據(jù)安全的核心機(jī)制,本文將從實(shí)際問(wèn)題出發(fā),系統(tǒng)拆解 MySQL 事務(wù)的核心概念、ACID 特性、隔離級(jí)別、底層實(shí)現(xiàn)(MVCC)及實(shí)戰(zhàn)操作,幫你徹底搞懂事務(wù)的底層邏輯與使用規(guī)范

在數(shù)據(jù)庫(kù)開(kāi)發(fā)中,事務(wù)是保障數(shù)據(jù)安全的核心機(jī)制。無(wú)論是電商下單、銀行轉(zhuǎn)賬還是火車票售票,一旦涉及多步數(shù)據(jù)操作,若不加控制,就會(huì)出現(xiàn)數(shù)據(jù)不一致、超賣、重復(fù)扣款等嚴(yán)重問(wèn)題。本文將從實(shí)際問(wèn)題出發(fā),系統(tǒng)拆解 MySQL 事務(wù)的核心概念、ACID 特性、隔離級(jí)別、底層實(shí)現(xiàn)(MVCC)及實(shí)戰(zhàn)操作,幫你徹底搞懂事務(wù)的底層邏輯與使用規(guī)范。

一、為什么需要事務(wù)?從一個(gè)超賣案例說(shuō)起

先看經(jīng)典的火車票售票系統(tǒng)超賣問(wèn)題,這是無(wú)事務(wù)場(chǎng)景下的典型數(shù)據(jù)錯(cuò)亂案例。

1.1 場(chǎng)景模擬

有一張火車票表tickets,僅剩 1 張西安 <-> 蘭州的車票:

idnamenums
10西安 <-> 蘭州1

此時(shí)客戶端 A客戶端 B同時(shí)發(fā)起購(gòu)票請(qǐng)求,偽代碼邏輯如下:

// 客戶端A
if (nums > 0) { // 檢查有票
    賣票();
    update tickets set nums = nums - 1; // 更新票數(shù)
}
// 客戶端B
if (nums > 0) { // 同時(shí)檢查有票(此時(shí)A還沒(méi)更新數(shù)據(jù)庫(kù))
    賣票();
    update tickets set nums = nums - 1; // 再次更新票數(shù)
}

1.2 問(wèn)題結(jié)果

  • 客戶端 A 檢查到票數(shù) = 1,準(zhǔn)備賣票,但還沒(méi)執(zhí)行 update 更新數(shù)據(jù)庫(kù);
  • 客戶端 B 同時(shí)檢查,發(fā)現(xiàn)票數(shù)仍 = 1,也執(zhí)行賣票;
  • 最終 A、B 都執(zhí)行update,票數(shù)從 1 變成 - 1,同一張票被賣了兩次,出現(xiàn)超賣。

1.3 解決方案:事務(wù)的四大核心訴求

要解決上述問(wèn)題,買票操作必須滿足 4 個(gè)核心屬性,這正是事務(wù)的設(shè)計(jì)初衷:

  1. 原子性:買票的檢查 + 更新操作,要么全部成功,要么全部失敗,不能只執(zhí)行一半;
  2. 一致性:買票前后,數(shù)據(jù)庫(kù)票數(shù)始終合法(不能為負(fù)、不能超賣);
  3. 隔離性:多個(gè)客戶端買票時(shí),操作互相隔離,互不干擾;
  4. 持久性:買票成功后,即使服務(wù)器宕機(jī),數(shù)據(jù)也不會(huì)丟失。

二、事務(wù)的基本概念與核心特性(ACID)

2.1 什么是事務(wù)?

事務(wù)是一組邏輯相關(guān)的 DML 語(yǔ)句集合(增刪改查),這些語(yǔ)句在邏輯上是一個(gè)整體,要么全部執(zhí)行成功,要么全部執(zhí)行失敗,不存在 “部分成功、部分失敗” 的中間狀態(tài)。

簡(jiǎn)單說(shuō),事務(wù)就是 “要么全做,要么全不做” 的不可分割工作單元。例如:

  • 銀行轉(zhuǎn)賬:A 扣錢、B 加錢,必須同時(shí)成功或同時(shí)失??;
  • 電商下單:扣庫(kù)存、生成訂單、扣余額,必須作為一個(gè)整體執(zhí)行。

2.2 事務(wù)的四大核心特性(ACID)

事務(wù)必須滿足原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability) 四大特性,簡(jiǎn)稱 ACID,這是事務(wù)的核心準(zhǔn)則。

1. 原子性(Atomicity):不可分割,要么全成要么全敗

  • 定義:一個(gè)事務(wù)中的所有操作,是一個(gè)不可分割的原子,要么全部執(zhí)行成功,要么全部回滾到事務(wù)開(kāi)始前的狀態(tài),不會(huì)停留在中間環(huán)節(jié)。
  • 底層保障:通過(guò)Undo Log(回滾日志) 實(shí)現(xiàn)。事務(wù)執(zhí)行前,會(huì)把數(shù)據(jù)修改前的狀態(tài)記錄到 Undo Log;若事務(wù)執(zhí)行失敗或崩潰,MySQL 會(huì)利用 Undo Log 將數(shù)據(jù)恢復(fù)到事務(wù)開(kāi)始前的狀態(tài)。
  • 案例:轉(zhuǎn)賬時(shí),A 扣了 100 元但 B 沒(méi)加錢,事務(wù)會(huì)回滾,A 的 100 元自動(dòng)恢復(fù),避免數(shù)據(jù)丟失。

2. 一致性(Consistency):數(shù)據(jù)合法,狀態(tài)一致

定義:事務(wù)執(zhí)行前后,數(shù)據(jù)庫(kù)的完整性約束不被破壞,數(shù)據(jù)從一個(gè)合法狀態(tài)轉(zhuǎn)移到另一個(gè)合法狀態(tài),不會(huì)出現(xiàn)非法數(shù)據(jù)。

核心要點(diǎn)

  • 數(shù)據(jù)必須符合預(yù)設(shè)規(guī)則(主鍵唯一、外鍵關(guān)聯(lián)、非空、余額非負(fù)等);
  • 一致性由原子性、隔離性、持久性共同保障,同時(shí)依賴業(yè)務(wù)邏輯(如余額不能為負(fù))。

案例:火車票售票,無(wú)論賣多少次,票數(shù)不能為負(fù);轉(zhuǎn)賬前后,A 和 B 的總余額始終不變。

3. 隔離性(Isolation):并發(fā)隔離,互不干擾

  • 定義:多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),互相隔離、互不干擾,一個(gè)事務(wù)的操作在未提交前,對(duì)其他事務(wù)不可見(jiàn),避免并發(fā)導(dǎo)致的數(shù)據(jù)錯(cuò)亂。
  • 核心作用:解決高并發(fā)下的臟讀、不可重復(fù)讀、幻讀問(wèn)題(后文詳細(xì)講解)。
  • 底層保障:通過(guò)鎖機(jī)制MVCC(多版本并發(fā)控制) 實(shí)現(xiàn),不同隔離級(jí)別對(duì)應(yīng)不同的鎖策略。

4. 持久性(Durability):提交即永久,宕機(jī)不丟失

  • 定義:事務(wù)一旦提交(COMMIT),對(duì)數(shù)據(jù)的修改就是永久生效的,即使服務(wù)器斷電、宕機(jī),數(shù)據(jù)也不會(huì)丟失。
  • 底層保障:通過(guò)Redo Log(重做日志) 實(shí)現(xiàn)。事務(wù)提交時(shí),先把修改記錄寫入 Redo Log,再異步刷到磁盤;若崩潰,重啟后通過(guò) Redo Log 恢復(fù)數(shù)據(jù)。

2.3 事務(wù)的引擎支持:僅 InnoDB 支持事務(wù)

MySQL 中,只有 InnoDB 引擎支持事務(wù),MyISAM、MEMORY 等引擎不支持事務(wù),這也是 InnoDB 成為 MySQL 默認(rèn)引擎的核心原因。

查看數(shù)據(jù)庫(kù)引擎及事務(wù)支持情況:

-- 查看所有引擎
show engines;

-- 行格式顯示,重點(diǎn)看Transactions字段(YES=支持,NO=不支持)
show engines \G;

關(guān)鍵結(jié)果:

  • InnoDB:Transactions=YES(支持事務(wù)、行鎖、外鍵);
  • MyISAM:Transactions=NO(不支持事務(wù))。

三、事務(wù)的提交方式與基礎(chǔ)操作

3.1 事務(wù)的兩種提交方式

MySQL 事務(wù)默認(rèn)自動(dòng)提交,也可手動(dòng)控制提交 / 回滾,兩種方式:

1. 自動(dòng)提交(默認(rèn))

規(guī)則:每條 SQL 語(yǔ)句都是一個(gè)獨(dú)立事務(wù),執(zhí)行后自動(dòng)提交,無(wú)法回滾;

查看狀態(tài)

show variables like 'autocommit'; -- 默認(rèn)ON(開(kāi)啟)

關(guān)閉自動(dòng)提交

set autocommit=0; -- OFF(關(guān)閉),需手動(dòng)commit/rollback

2. 手動(dòng)提交(顯式事務(wù))

  • 規(guī)則:通過(guò)BEGIN/START TRANSACTION顯式開(kāi)啟事務(wù),執(zhí)行 SQL 后,手動(dòng) COMMIT 提交(永久生效)或 ROLLBACK 回滾(撤銷操作)。
  • 核心命令
-- 1. 開(kāi)啟事務(wù)(二選一,推薦BEGIN)
BEGIN;
START TRANSACTION;

-- 2. 執(zhí)行DML操作(增刪改)
insert into account values (1, '張三', 100);
update account set blance=200 where id=1;

-- 3. 提交事務(wù)(永久生效,不可回滾)
COMMIT;

-- 4. 回滾事務(wù)(撤銷所有未提交操作,恢復(fù)到事務(wù)開(kāi)始前)
ROLLBACK;

3.2 事務(wù)保存點(diǎn)(SAVEPOINT):部分回滾

事務(wù)支持保存點(diǎn),可在事務(wù)中設(shè)置多個(gè)保存點(diǎn),回滾時(shí)可指定回滾到某個(gè)保存點(diǎn),無(wú)需回滾整個(gè)事務(wù)。

示例:保存點(diǎn)的創(chuàng)建與回滾

-- 1. 開(kāi)啟事務(wù)
BEGIN;

-- 2. 創(chuàng)建保存點(diǎn)save1
SAVEPOINT save1;
insert into account values (1, '張三', 100);

-- 3. 創(chuàng)建保存點(diǎn)save2
SAVEPOINT save2;
insert into account values (2, '李四', 10000);

-- 4. 回滾到save2(僅撤銷李四的插入,張三的數(shù)據(jù)保留)
ROLLBACK TO save2;

-- 5. 提交事務(wù)(最終僅張三的數(shù)據(jù)生效)
COMMIT;

3.3 事務(wù)操作核心結(jié)論

  1. 執(zhí)行BEGIN/START TRANSACTION后,事務(wù)必須通過(guò)COMMIT提交才會(huì)持久化,與autocommit無(wú)關(guān);
  2. 事務(wù)未提交時(shí),客戶端崩潰,MySQL 會(huì)自動(dòng)回滾所有未提交操作;
  3. 事務(wù)提交后,客戶端崩潰,數(shù)據(jù)不會(huì)丟失,已持久化到數(shù)據(jù)庫(kù);
  4. 單條 SQL 在autocommit=ON時(shí),自動(dòng)封裝為獨(dú)立事務(wù),執(zhí)行后永久生效。

四、事務(wù)隔離級(jí)別:平衡一致性與并發(fā)性能

4.1 并發(fā)事務(wù)的三大問(wèn)題

多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),若隔離性不足,會(huì)出現(xiàn)臟讀、不可重復(fù)讀、幻讀三大問(wèn)題,嚴(yán)重影響數(shù)據(jù)一致性。

1. 臟讀(Dirty Read)

  • 定義:一個(gè)事務(wù)讀取到另一個(gè)事務(wù)未提交的修改數(shù)據(jù),后續(xù)該事務(wù)回滾,導(dǎo)致讀取的數(shù)據(jù)無(wú)效。
  • 案例
    • 事務(wù) A:更新張三余額為 123,未提交;
    • 事務(wù) B:讀取張三余額 = 123(臟讀);
    • 事務(wù) A:回滾,張三余額恢復(fù)為 100;
    • 結(jié)果:事務(wù) B 讀取到無(wú)效數(shù)據(jù)。

2. 不可重復(fù)讀(Non-Repeatable Read)

  • 定義同一個(gè)事務(wù)內(nèi),多次讀取同一數(shù)據(jù),結(jié)果不一致(因其他事務(wù)中途提交修改)。
  • 案例
    • 事務(wù) B:第一次讀取張三余額 = 123;
    • 事務(wù) A:更新張三余額為 321,提交;
    • 事務(wù) B:第二次讀取張三余額 = 321;
    • 結(jié)果:同一事務(wù)內(nèi),兩次讀取結(jié)果不同。

3. 幻讀(Phantom Read)

  • 定義同一個(gè)事務(wù)內(nèi),多次查詢同一條件的數(shù)據(jù),記錄數(shù)不一致(因其他事務(wù)中途插入 / 刪除數(shù)據(jù))。
  • 案例
    • 事務(wù) B:第一次查詢 account 表,有 2 條記錄;
    • 事務(wù) A:插入一條新記錄(王五),提交;
    • 事務(wù) B:第二次查詢 account 表,有 3 條記錄;
    • 結(jié)果:如同 “幻覺(jué)”,記錄數(shù)憑空增加。

4.2 MySQL 的四大隔離級(jí)別

SQL 標(biāo)準(zhǔn)定義了 4 種隔離級(jí)別,隔離級(jí)別越高,一致性越強(qiáng),并發(fā)性能越低;MySQL InnoDB 默認(rèn)采用可重復(fù)讀(REPEATABLE READ)

隔離級(jí)別對(duì)比表

隔離級(jí)別臟讀不可重復(fù)讀幻讀核心特點(diǎn)適用場(chǎng)景
讀未提交(READ UNCOMMITTED)? 會(huì)發(fā)生? 會(huì)發(fā)生? 會(huì)發(fā)生無(wú)隔離,性能最高,數(shù)據(jù)最不安全幾乎不用
讀已提交(READ COMMITTED)? 不會(huì)? 會(huì)發(fā)生? 會(huì)發(fā)生僅讀已提交數(shù)據(jù),主流數(shù)據(jù)庫(kù)默認(rèn)(Oracle)多數(shù)業(yè)務(wù)系統(tǒng)
可重復(fù)讀(REPEATABLE READ)? 不會(huì)? 不會(huì)? 不會(huì)(InnoDB)同一事務(wù)多次讀取結(jié)果一致,MySQL 默認(rèn)MySQL 默認(rèn)場(chǎng)景
串行化(SERIALIZABLE)? 不會(huì)? 不會(huì)? 不會(huì)事務(wù)串行執(zhí)行,完全隔離,性能最低金融核心、數(shù)據(jù)強(qiáng)一致場(chǎng)景

1. 讀未提交(READ UNCOMMITTED)

  • 規(guī)則:所有事務(wù)可讀取其他事務(wù)未提交的修改,無(wú)任何隔離;
  • 問(wèn)題:臟讀、不可重復(fù)讀、幻讀全部存在;
  • 性能:最高(幾乎不加鎖);
  • 使用:生產(chǎn)環(huán)境絕對(duì)禁止,僅用于測(cè)試。

2. 讀已提交(READ COMMITTED,RC)

  • 規(guī)則:事務(wù)只能讀取其他事務(wù)已提交的修改,看不到未提交數(shù)據(jù);
  • 解決:臟讀;
  • 殘留:不可重復(fù)讀、幻讀;
  • 特點(diǎn):每次SELECT都會(huì)生成新快照(Read View),能看到最新提交數(shù)據(jù)。

3. 可重復(fù)讀(REPEATABLE READ,RR,MySQL 默認(rèn))

  • 規(guī)則同一個(gè)事務(wù)內(nèi),多次讀取同一數(shù)據(jù),結(jié)果始終一致;
  • 解決:臟讀、不可重復(fù)讀;
  • 殘留:幻讀(InnoDB 通過(guò) Next-Key 鎖(間隙鎖 + 行鎖)解決幻讀);
  • 特點(diǎn):事務(wù)內(nèi)第一次SELECT生成快照(Read View),后續(xù)復(fù)用,保證可重復(fù)讀。

4. 串行化(SERIALIZABLE)

  • 規(guī)則:事務(wù)串行執(zhí)行(排隊(duì)執(zhí)行),一個(gè)事務(wù)執(zhí)行完,下一個(gè)才開(kāi)始;
  • 解決:臟讀、不可重復(fù)讀、幻讀全部解決;
  • 性能:最低(全表鎖 / 行鎖,并發(fā)完全阻塞);
  • 使用:僅用于金融核心、數(shù)據(jù)強(qiáng)一致場(chǎng)景,生產(chǎn)環(huán)境極少用。

4.3 隔離級(jí)別查看與設(shè)置

1. 查看隔離級(jí)別

-- 查看全局隔離級(jí)別
SELECT @@global.tx_isolation;

-- 查看當(dāng)前會(huì)話隔離級(jí)別
SELECT @@session.tx_isolation;

-- 簡(jiǎn)寫(默認(rèn)同會(huì)話)
SELECT @@tx_isolation;

2. 設(shè)置隔離級(jí)別

-- 設(shè)置當(dāng)前會(huì)話隔離級(jí)別(僅當(dāng)前連接生效)
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;

-- 設(shè)置全局隔離級(jí)別(新連接生效,需重啟客戶端)
SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ;

五、隔離級(jí)別底層實(shí)現(xiàn):MVCC(多版本并發(fā)控制)

5.1 什么是 MVCC?

MVCC(Multi-Version Concurrency Control,多版本并發(fā)控制)是 InnoDB 實(shí)現(xiàn)讀已提交(RC)、可重復(fù)讀(RR) 隔離級(jí)別的核心機(jī)制,核心目標(biāo)是讀寫不阻塞、讀不加鎖、提升并發(fā)性能。

簡(jiǎn)單說(shuō),MVCC 的核心是 **“數(shù)據(jù)多版本”**:數(shù)據(jù)修改時(shí),不直接覆蓋原數(shù)據(jù),而是生成新版本,保留歷史版本;讀操作時(shí),讀取當(dāng)前事務(wù)可見(jiàn)的歷史版本,無(wú)需加鎖。

5.2 MVCC 的三大核心組件

1. 隱藏字段(每行數(shù)據(jù)自帶)

InnoDB 每行數(shù)據(jù)包含 3 個(gè)隱藏字段,用于版本管理:

  • DB_TRX_ID:6 字節(jié),最近修改該記錄的事務(wù) ID(插入 / 更新時(shí)賦值);
  • DB_ROLL_PTR:7 字節(jié),回滾指針,指向該記錄的上一個(gè)版本(Undo Log 中的歷史數(shù)據(jù));
  • DB_ROW_ID:6 字節(jié),隱式主鍵(無(wú)主鍵時(shí)自動(dòng)生成)。

2. Undo Log(回滾日志)

  • 存儲(chǔ)數(shù)據(jù)的歷史版本,數(shù)據(jù)更新時(shí),舊版本寫入 Undo Log,通過(guò)DB_ROLL_PTR形成版本鏈;
  • 作用:事務(wù)回滾時(shí)恢復(fù)數(shù)據(jù)、MVCC 讀取歷史版本。

3. Read View(讀視圖)

  • 事務(wù)快照讀(普通 SELECT)時(shí)生成的可見(jiàn)性判斷規(guī)則,記錄當(dāng)前系統(tǒng)活躍事務(wù) ID 列表,用于判斷當(dāng)前事務(wù)能讀取哪個(gè)版本的數(shù)據(jù);
  • 核心字段:
    • m_ids:活躍事務(wù) ID 列表;
    • m_up_limit_id:活躍事務(wù)最小 ID;
    • m_low_limit_id:下一個(gè)未分配事務(wù) ID;
    • m_creator_trx_id:當(dāng)前事務(wù) ID。

5.3 快照讀 vs 當(dāng)前讀

MVCC 中,讀操作分兩種,行為完全不同:

1. 快照讀(普通 SELECT)

  • SQLSELECT * FROM account WHERE id=1;;
  • 規(guī)則:讀取歷史版本數(shù)據(jù)不加鎖,依賴 MVCC;
  • 場(chǎng)景:RC、RR 隔離級(jí)別下的普通查詢。

2. 當(dāng)前讀(加鎖 / 修改操作)

  • SQLSELECT ... FOR UPDATE、UPDATE、DELETE、INSERT
  • 規(guī)則:讀取最新版本數(shù)據(jù),加鎖(行鎖 / 間隙鎖),防止并發(fā)修改;
  • 場(chǎng)景:數(shù)據(jù)更新、加鎖查詢。

5.4 RC vs RR:Read View 生成時(shí)機(jī)的差異

MVCC 中,RC 和 RR 隔離級(jí)別的核心區(qū)別是Read View 生成時(shí)機(jī)

  • RC(讀已提交)每次快照讀(SELECT)都生成新 Read View,能看到其他事務(wù)已提交的修改,因此存在不可重復(fù)讀;
  • RR(可重復(fù)讀)事務(wù)內(nèi)第一次快照讀生成 Read View,后續(xù)復(fù)用,看不到其他事務(wù)提交的修改,因此解決不可重復(fù)讀。

六、總結(jié):事務(wù)核心要點(diǎn)與實(shí)戰(zhàn)建議

6.1 核心要點(diǎn)回顧

  1. 事務(wù)定義:一組 DML 語(yǔ)句的整體,要么全成要么全敗,保障數(shù)據(jù)一致性;
  2. ACID 特性原子性(Undo Log)、一致性(業(yè)務(wù) + ACID)、隔離性(鎖 + MVCC)、持久性(Redo Log)
  3. 引擎支持:僅InnoDB支持事務(wù),MyISAM 不支持;
  4. 隔離級(jí)別:MySQL 默認(rèn)RR(可重復(fù)讀),平衡一致性與并發(fā);
  5. MVCC:InnoDB 實(shí)現(xiàn) RC/RR 的核心,讀寫不阻塞、讀不加鎖,通過(guò)隱藏字段、Undo Log、Read View 實(shí)現(xiàn)。

6.2 實(shí)戰(zhàn)使用建議

  1. 優(yōu)先使用 InnoDB 引擎:所有需事務(wù)的表,引擎設(shè)為 InnoDB;
  2. 默認(rèn)隔離級(jí)別用 RR:無(wú)需特殊場(chǎng)景,保持 MySQL 默認(rèn) RR,兼顧安全與性能;
  3. 短事務(wù)優(yōu)先:事務(wù)內(nèi)僅包含必要操作,避免長(zhǎng)事務(wù)(易鎖超時(shí)、死鎖);
  4. 合理使用保存點(diǎn):復(fù)雜事務(wù)中,用 SAVEPOINT 實(shí)現(xiàn)部分回滾;
  5. 避免臟寫:更新數(shù)據(jù)時(shí)加索引條件,用行鎖避免表鎖,減少并發(fā)沖突。

以上就是系統(tǒng)講解MySQL數(shù)據(jù)庫(kù)中事務(wù)的核心機(jī)制與應(yīng)用實(shí)踐的詳細(xì)內(nèi)容,更多關(guān)于MySQL數(shù)據(jù)庫(kù)事務(wù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL中的表操作及查詢方式

    MySQL中的表操作及查詢方式

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)中常用的表操作和查詢語(yǔ)句,包括插入、更新、刪除、查詢、排序、篩選等操作
    2025-12-12
  • MySQL Range Columns分區(qū)的使用

    MySQL Range Columns分區(qū)的使用

    Range Columns分區(qū)是一種靈活的分區(qū)策略,允許基于列值的范圍將數(shù)據(jù)分到不同的分區(qū),本文主要介紹了MySQL Range Columns分區(qū)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • Centos7 下Mysql5.7.19安裝教程詳解

    Centos7 下Mysql5.7.19安裝教程詳解

    這篇文章主要介紹了Centos7 下Mysql5.7.19安裝教程詳解,小編認(rèn)為非常不錯(cuò),特此分享到腳本之家平臺(tái),需要的朋友參考下吧
    2017-09-09
  • Mysql實(shí)現(xiàn)水平分庫(kù)的示例代碼

    Mysql實(shí)現(xiàn)水平分庫(kù)的示例代碼

    本文主要介紹了Mysql實(shí)現(xiàn)水平分庫(kù)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • MySQL主從同步延遲原因與解決方案

    MySQL主從同步延遲原因與解決方案

    本文主要介紹了MySQL主從同步延遲原因與解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • 淺談mysql中concat函數(shù),mysql在字段前/后增加字符串

    淺談mysql中concat函數(shù),mysql在字段前/后增加字符串

    下面小編就為大家?guī)?lái)一篇淺談mysql中concat函數(shù),mysql在字段前/后增加字符串。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • MySQL存儲(chǔ)過(guò)程中使用WHILE循環(huán)語(yǔ)句的方法

    MySQL存儲(chǔ)過(guò)程中使用WHILE循環(huán)語(yǔ)句的方法

    這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程中使用WHILE循環(huán)語(yǔ)句的方法,實(shí)例分析了在MySQL中循環(huán)語(yǔ)句的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 在MySQL執(zhí)行UPDATE語(yǔ)句時(shí)遇到的錯(cuò)誤1175的解決方案

    在MySQL執(zhí)行UPDATE語(yǔ)句時(shí)遇到的錯(cuò)誤1175的解決方案

    MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句時(shí)必須基于主鍵或索引列,或者使用LIMIT限制行數(shù),若SQL語(yǔ)句未滿足這些條件,會(huì)觸發(fā)錯(cuò)誤1175,本文介紹在MySQL執(zhí)行UPDATE語(yǔ)句時(shí)遇到的錯(cuò)誤1175的解決方案,感興趣的朋友一起看看吧
    2025-02-02
  • MySQL之存儲(chǔ)引擎使用及說(shuō)明

    MySQL之存儲(chǔ)引擎使用及說(shuō)明

    這篇文章主要介紹了MySQL之存儲(chǔ)引擎使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Mysql 如何查詢時(shí)間段交集

    Mysql 如何查詢時(shí)間段交集

    這篇文章主要介紹了Mysql 查詢時(shí)間段交集的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論

博客| 西乡县| 博客| 漳州市| 西乌| 许昌县| 新源县| 广南县| 万州区| 获嘉县| 梅河口市| 新乡市| 抚宁县| 福州市| 唐河县| 德化县| 通河县| 固阳县| 文山县| 盐津县| 防城港市| 义乌市| 澄迈县| 西和县| 蒙阴县| 武隆县| 黄大仙区| 东宁县| 龙州县| 三原县| 大名县| 花莲县| 连云港市| 江门市| 安顺市| 手机| 永寿县| 开江县| 西宁市| 乌恰县| 平山县|