MySql的邏輯架構

2021-10-02 21:06:37 字數 1251 閱讀 1160

mysql在網際網路企業中應用非常廣泛,網際網路企業的特點訪問量非常大,怎麼樣優化mysql就成了擺在我們面前的一道難題。

我們從mysql的邏輯架構說起:

最上面一層是客戶端的連線服務,主要完成客戶端的連線處理,授權認證。在該層有乙個執行緒池,每乙個連線從執行緒池中獲取執行緒,省去了建立和銷毀執行緒的開銷。

中間這一層可以完成查詢解析,分析,優化,快取。儲存過程,觸發器,檢視也是在這一層。

最下面一層是儲存引擎,負責mysql中資料的儲存和提取。

和其它資料庫有所不同,mysql的儲存引擎是可插拔的,可以根據不同的場合使用不同的儲存引擎。

儲存引擎:

儲存引擎就是儲存資料,更新查詢資料,建立索引等等的技術實現方式,mysql5.0支援的儲存引擎包括:innodb

、myisam

、bdb

、memory

、merge

、example

、ndb cluster

、archive

、csv

、blackhole

、federated等,

其中使用最多的是

innodb

和myisam

,mysql5.5

之後innodb

是預設的儲存引擎我們重點討論這兩個儲存引擎 檢視

mysql

預設儲存引擎的命令:

show variables like '%storage_engine%'

innodb儲存引擎和myisam的對比圖:

innodb儲存引擎和myisam儲存引擎的最大區別有以下三點:

innodb支援事物,myisam不支援

innodb支援外來鍵,myisam不支援

批量插入的速度myisam要高於innodb

基於以上特點來看看在實際使用中應該如何選擇儲存引擎:

innodb儲存引擎:因為innodb儲存引擎支援事物,所以對於要求事物完整性的場合需要選擇innodb,比如資料操作除了插入和查詢以外還包含有很多更新刪除操作,像財務系統等對資料準確性要求較高的系統。

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

mysql 多邏輯 Mysql的邏輯架構

mysql的邏輯架構圖 mysql是分層的 整體分為 connectors 連線驅動 enterprise management services utillties 服務管理器和一些工具 connection pool 連線池 sql interfice sql介面 parser 解析器 opti...

Mysql的邏輯架構

第一層,即最上一層,所包含的服務並不是mysql所獨有的技術。它們都是服務於c s程式或者是這些程式所需要的 連線處理,身份驗證,安全性等等。第二層值得關注。這是mysql的核心部分。通常叫做 sql layer。在 mysql據庫系統處理底層資料之前的所有工作都是在這一層完成的,包括許可權判斷,s...

MySQL的邏輯架構

mysql的邏輯結構圖將整個mysql分成四層,圖如下 1.連線層 最上層是一些客戶端和連線服務,包含本地scoket同學和大多數基於客戶端 服務端工具實現的類似於tcp ip的通訊,主要完成一些類似連線處理,授權認證,及相關的安全方案,在該層引入執行緒池的概念,為通過認證安全接入的客戶端提供執行緒...