Mysql 掌握要點

2022-01-31 16:15:33 字數 912 閱讀 9875

innodb與myisam的最大不同有兩點:一是支援事務(transaction);二是採用了行級鎖。

行級鎖和表級鎖本來就有許多不同之處,另外,事務的引入也帶來了一些新問題。

分表:mysql大表優化方案

定義:所謂事務,它是乙個操作序列,這些操作要麼都執行,要麼都不執行,它是乙個不可分割的工作單位。

acid,是指在可靠資料庫管理系統(dbms)中,事務(transaction)所應該具有的四個特性:

原子性(atomicity)、一致性(consistency)、隔離性(isolation)、永續性(durability).這是可靠資料庫所應具備的幾個特性.下面針對這幾個特性進行逐個講解.

原子性是指事務是乙個不可再分割的工作單位,事務中的操作要麼都發生,要麼都不發生。

一致性是指在事務開始之前和事務結束以後,資料庫的完整性約束沒有被破壞。這是說資料庫事務不能破壞關係資料的完整性以及業務邏輯上的一致性。

多個事務併發訪問時,事務之間是隔離的,乙個事務不應該影響其它事務執行效果。

事務之間的相互影響分為幾種,分別為:髒讀,不可重複讀,幻讀(虛讀),丟失更新

永續性,意味著在事務完成以後,該事務所對資料庫所作的更改便持久的儲存在資料庫之中,並不會被回滾。

事務的(acid)特性是由關聯式資料庫管理系統(rdbms,資料庫系統)來實現的。資料庫管理系統採用日誌來保證事務的原子性、一致性和永續性。日誌記錄了事務對資料庫所做的更新,如果某個事務在執行過程中發生錯誤,就可以根據日誌,撤銷事務對資料庫已做的更新,使資料庫退回到執行事務前的初始狀態。

資料庫管理系統採用鎖機制來實現事務的隔離性。當多個事務同時更新資料庫中相同的資料時,只允許持有鎖的事務能更新該資料,其他事務必須等待,直到前乙個事務釋放了鎖,其他事務才有機會更新該資料。

表鎖 行鎖 

樂觀鎖 悲觀鎖 

深入了解 MySQL 需要掌握的 5 個要點

本場 chat 是我閱讀 mysql 技術內幕 innodb 儲存引擎 後結合自身經驗總結的 5 個要點。如果你剛好想看這本書或者還沒有時間去瀏覽,可以先看下我的概要總結再帶著問題去閱讀,可能會有意想不到的閱讀體驗。mysql 資料庫常見的幾種儲存引擎 資料庫執行原理 包括資料庫架構,如何運轉,資料...

C C 要點全掌握 一 基礎概念

最近參加了幾個公司到學校的招聘會,筆試時大多要求使用c c 語言,而且有些筆試考到了語言的細節部分。說來汗顏,c c 只在大一學習時使用了一年,之後一直在學習高階語言的元件開發,到現在c c 語言的有些細節,部分已經忘記。在此將c c 的基礎要點重拾一遍,以便往後忘記之時查閱。1 區域性變數儲存於堆...

C C 要點全掌握(六) 變長引數

上接c c 要點全掌握 五 mutable volatile 設計乙個引數個數可變 引數型別不定的函式是可能的,最常見的例子是printf函式 scanf函式和高階語言的format函式。在c c 中,為了通知編譯器函式的引數個數和型別可變 即是不定的 未知的 就必須以三個點結束該函式的宣告。pri...