mysql架構和兩種儲存引擎

2021-10-02 20:04:32 字數 858 閱讀 2351

mysql一共分為四層,分別是連線層,業務層,引擎層,儲存層。

1.mysql會對命令進行處理,查詢快取(在mysql的my.ini檔案裡開啟),

2.如果沒有進入命令解析器,

3.mysql的sql語句解析順序為

from,

left join

where

,group by

,select,

order by

,limit

4.根據不同的命令分發到不同的位置上,如查詢和增刪改是不一樣的。

查詢優化器:組合索引順序顛倒,查詢優化器會自動調整,匹配聯合索引順序

5.生成mysql自己執行的sql語句

6.查詢

7.返回

mysql有十餘種儲存引擎,我們常用的是innodb和myisam,二者的區別是:5.5之前mysql預設儲存引擎為myisam

myisam:偏向於讀

1.不支援主外來鍵

2.不支援事務

3.表鎖

4.只快取索引不快取真真實資料

5.表空間小

6.關注點==

=》效能

innodb:讀寫

1.支援主外來鍵

2.支援事務

3.行鎖

4.快取索引和資料

5.表空間大

6.關注點 ==

=》事務

mysql的兩種引擎 mysql的兩種儲存引擎

背景 最近在使用spring data jpa操作mysql,在使用jpa的自動建表功能之後,處理多對多關係 manytomany的時候,spring data jpa會給中間表的兩個欄位都加上外來鍵引用。當前使用的版本預設的資料庫儲存引擎為myisam。這種儲存引擎是為資料庫查詢效能而生的,不支援...

MySQL兩種儲存引擎區別

innodb引擎 innodb引擎提供了對資料庫acid事務的支援,並且實現了sql標準的四種隔離級別。該引擎還提供了行級鎖和外來鍵約束,他設計的目的是處理大容量資料庫系統,它本身就是基於mysql的完整的資料庫系統,mysql執行時innodb會在記憶體中建立緩衝池,用來緩衝資料和索引。innod...

MySQL 常見的兩種儲存引擎

mysql兩種常見的儲存引擎有 myisam 和 innodb,兩者區別如下 1 count運算 myisam 有快取表的 meta data 元資料,元資料報括行數等,因此其做 count 查詢時不需要消耗多少資源。而 innodb 就沒有這個快取。2 事務和崩潰後的安全恢復 myisam強調的是...