mysql存儲引擎

  Mysql架構 --存儲引擎html

Mysql存儲引擎mysql

1)存儲引擎引入了一個新的概念,插件式存儲引擎體系結構,MYSQL AB架構改造時候,讓存儲引擎層和sqllayer各自更爲獨立,耦合更小,甚至能夠作到在線加載存儲引擎,就是徹底能夠將一個新的存儲引擎加載到一個正在運行的MySQL 中,而不影響MySQL 的正常運行。sql

2插件式存儲引擎的數據庫

架構,爲存儲引擎的加載和移出更爲靈活方便,也使自行開發存儲引擎更爲方便簡單。數據結構

(3)MySQL的插件式存儲引擎主要包括MyISAMInnodbNDB ClusterMariaFalconMemory其中最著名並且使用最爲普遍的MyISAMInnodb兩種存儲引擎架構

 Mysql存儲引擎介紹ide

1mysql5.1以前默認存儲引擎。工具

2MyISAM存儲引擎的表在數據庫中,每個表都被存放爲三個以表名命名的物理文件。spa

3.結構定義信息的.frm文件,另外還有.MYD.MYI 文件,分別存放了表的數據(.MYD)和索引數據(.MYI)。插件

4. 每一個表都有且僅有這樣三個文件作爲MyISAM存儲類型的表的存儲,就是說無論這個表有多少個索引,都是存放在同一個.MYI 文件中。

 MyISAM支持如下三種類型的索引:

1: B-Tree 索引

B-Tree 索引,就是全部的索引節點都按照balance tree 的數據結構來存儲,全部的索引數據節點都在葉節點。

2: R-Tree 索引

要設計用於爲存儲空間和多維數據的字段作索引,因此目前的MySQL 版原本說,也僅支持geometry 類型的字段做索引。

3: Full-text 索引

Full-text 索引就是全文索引,他的存儲結構也是b-tree。主要是爲了解決在咱們須要用like 查詢的低效問題。

4: 索引有一個較大的限制,那就是參與一個索引的全部字段的長度之和不能超過1000 字節。

四:磁盤硬件故障

1每個MyISAM的表都是存放在一個相同後綴名的.MYD 文件中,但實際存放格式可能並非徹底同樣的

2由於MyISAM的數據存放格式是分爲靜態(FIXED固定長度、動態(DYNAMIC可變長度以及壓縮(COMPRESSED)這三種格式。能夠在建立表的時候經過ROW_FORMAT 來指定

 

  先算一個表中一行有多少個字節。

根據數據庫中的表天天增長多少行記錄,就可以算出天天要增長多少硬盤空間,這樣就可根據數據量估算規劃多大的空間。

例在數據庫test中建立一張test1

wKiom1lg6bnxsfU3AAAKC9Cb2_s416.png-wh_50

wKioL1lg6crAEM8UAAAjh6xtgdA069.png-wh_50

執行mysql>desc  test1.tb1查看tb1的表結構

wKioL1lg6eCwRUTBAAAofriwtho027.png-wh_50

10個字節+20個字節+2個字節+20字節+8字節+8字節+100個字節=168字節

Tb1表的一個行有118個字節

若是天天增長10000條記錄,大約須要10000x168/1024/1024=1.6MB

這樣就能夠根據天天增長的記錄數,合理規劃好磁盤空間了

1若是咱們的數據庫正在運行過程當中發現某個MyISAM表出現問題了,則能夠在線經過check table 命令來嘗試校驗他,並能夠經過repair table 命令來嘗試修復

2咱們也能夠經過myisamchk工具來對數據庫中某個(或某些)表進行檢測或者修復。

五:lnnodb 存儲引擎介紹

1、支持事務

Innodb在功能方面最重要的一點就是對事務的支持

2、鎖定機制的改進

Innodb改變了MyISAM的鎖機制,實現了行鎖。

3、實現外鍵

Innodb實現了外鍵引用這一數據庫的重要特性。

四、Innodb存儲引擎也和MyISAM不太同樣,.frm文件來存放表結構定義相關的元數據,可是表數據和索引數據是存放在一塊兒的。

六:Lnnodb物理結構分爲倆大部分

首先,Innodb的表空間分爲兩種形式。一種是共享表空間,也就是全部表和索引數據被存放在同一個表空間(一個或多個數據文件)中,經過innodb_data_file_path來指定,增長數據文件須要停機重啓。另一種是獨享表空間,也就是每一個表的數據和索引被存放在一個單獨的.ibd文件中。

 2: 日誌文件

Innodb徹底能夠經過redo 日誌將數據庫Crash 時刻已經完成但尚未來得及將數據寫入磁盤的事務恢復,也可以將全部部分完成並已經寫入磁盤的未完成事務回滾並將數據還原。

3MyISAMInnoDB的區別

MyISAM不支持事務,而InnoDB支持。InnoDBAUTOCOMMIT默認是打開的

wKiom1lg6fWDPf8KAAARqsBplx4349.png-wh_50

相關文章
相關標籤/搜索