溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySql的邏輯架構(gòu)和存儲引擎

發(fā)布時間:2020-05-29 19:14:28 來源:億速云 閱讀:302 作者:鴿子 欄目:編程語言

mysql的邏輯架構(gòu)說起:

MySql的邏輯架構(gòu)和存儲引擎

最上面一層是客戶端的連接服務(wù),主要完成客戶端的連接處理,授權(quán)認(rèn)證。在該層有一個線程池,每一個連接從線程池中獲取線程,省去了創(chuàng)建和銷毀線程的開銷。

中間這一層可以完成查詢解析,分析,優(yōu)化,緩存。存儲過程,觸發(fā)器,視圖也是在這一層。

最下面一層是存儲引擎,負(fù)責(zé)mysql中數(shù)據(jù)的存儲和提取。

 

和其它數(shù)據(jù)庫有所不同,mysql的存儲引擎是可插拔的,可以根據(jù)不同的場合使用不同的存儲引擎。

 

存儲引擎:

存儲引擎就是存儲數(shù)據(jù),更新查詢數(shù)據(jù),建立索引等等的技術(shù)實現(xiàn)方式,mysql5.0支持的存儲引擎包括: InnoDB 、MyISAM 、BDB、MEMORY、MERGEEXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED,其中使用最多的是InnoDB MyISAMmysql5.5之后InnoDB是默認(rèn)的存儲引擎我們重點討論這兩個存儲引擎

 

查看mysql默認(rèn)存儲引擎的命令:

show variables like '%storage_engine%'

 

InnoDB存儲引擎和MyISAM的對比圖:

MySql的邏輯架構(gòu)和存儲引擎

InnoDB存儲引擎和MyISAM存儲引擎的最大區(qū)別有以下三點:

1.     InnoDB支持事物,MyISAM不支持

2.     InnoDB支持外鍵,MyISAM不支持

3.     批量插入的速度MyISAM要高于InnoDB

基于以上特點來看看在實際使用中應(yīng)該如何選擇存儲引擎:

InnoDB存儲引擎:因為InnoDB存儲引擎支持事物,所以對于要求事物完整性的場合需要選擇InnoDB,比如數(shù)據(jù)操作除了插入和查詢以外還包含有很多更新刪除操作,像財務(wù)系統(tǒng)等對數(shù)據(jù)準(zhǔn)確性要求較高的系統(tǒng)。

MyISAM存儲引擎:如果系統(tǒng)是以讀操作和插入操作為主,只有很少的更新刪除操作,并且對事物的之處沒有要求那么可以選擇這個存儲引擎。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI