第一章-mysql體系結構和儲存引擎
1定義資料庫和例項
「資料庫」(database)和「例項」(instance)是兩個容易被混淆的概念。
其中, 資料庫是指:物理作業系統檔案或其他形式檔案型別的集合 。
例項是指:mysql資料庫由後台執行緒以及乙個共享記憶體區組成。
資料庫例項才是真正用於運算元據庫檔案的。
所以當我們啟動資料庫時,是啟動了乙個資料庫例項。
2.mysql體系結構
mysql 由以下幾部分組成:
連線池元件
管理服務和工具元件
sql介面元件
查詢分析器元件
優化器元件
緩衝元件
外掛程式式儲存引擎
物理檔案
mysql區別於其他資料庫的最重要的乙個特點就是其外掛程式式的表儲存引擎。mysql外掛程式式的儲存引擎架構提供了一系列標準的管理和服務支援。這些標準與儲存引擎本身無關,可能是每個資料庫系統本身都必需的,如sql分析器和優化器等,而儲存引擎是底層物理結構的實現。
需要特別注意的是:儲存引擎是基於表的,而不是資料庫。所以當我們在建表的時候,需要標註使用的儲存引擎,否則資料庫系統會選用預設配置。
3.mysql儲存引擎
mysql是外掛程式式體系結構。每個儲存引擎都有各自的特點。使用者可以根據其不同的特點來選用。並且由於mysql的開源性,可以根據資料庫預定義的儲存引擎介面編寫自己的儲存引擎。
下面是一些儲存引擎的介紹:
(1)innodb儲存引擎
從mysql5.5.8開始,innodb為其預設的儲存引擎、它支援事物,特點是:行鎖設計、支援外來鍵、並支援類似於oracle的非鎖定讀。innodb是mysql最為常用的一種引擎,而facebook,google,yahoo!等公司的成功應用已經證明了innodb具備高可用性、高效能以及高可擴充套件性。
(2)myisam儲存引擎
myisam不支援事務,表鎖設計,支援全文索引,主要面向一些olap資料庫應用(資料查詢的應用)。
MySQL技術內幕InnoDB儲存引擎
第5章 索引與演算法 p174 217 5.1 innodb儲存引擎索引概述 5.2 二分查詢法 5.3 平衡二叉樹 5.4 b 樹 5.4.1b 樹的插入操作 5.4.2b 樹的刪除操作 了解了一下例子 5.5b 樹索引 p181 195 5.5.1聚集索引 按主鍵建立b 樹索引 5.5.2非聚集...
MySQL技術內幕 InnoDB儲存引擎
第五章 索引與演算法 常用的型別有 all index range ref eq ref const system null 從左到右,效能從差到好 all full table scan,mysql將遍歷全表以找到匹配的行 index full index scan,index與all區別為ind...
MySQL技術內幕 InnoDB儲存引擎 筆記
mysql 體系結構和儲存引擎 資料庫 物理作業系統檔案或其他形式檔案內容的集合 資料庫例項 有資料庫後台程序 執行緒記憶乙個共享記憶體區組成 mysql資料庫在沒有配置檔案的情況下,會按照編譯時的預設引數設定啟動例項 mysql 按照 etc my.cnf etc mysql my.cnf usr...