主頁 > 知識庫 > 深入了解Mysql邏輯架構

深入了解Mysql邏輯架構

熱門標簽:北京人工外呼系統(tǒng)價錢 房產智能外呼系統(tǒng)品牌 沃克斯電梯外呼線路圖 地圖標注被騙三百怎么辦 常州電銷外呼系統(tǒng)一般多少錢 福州呼叫中心外呼系統(tǒng)哪家好 天智外呼系統(tǒng) 400電話鄭州申請 云南語音外呼系統(tǒng)平臺

  Mysql現在是大多數公司企業(yè)在用的數據庫,之所以用Mysql,一點是因為Mysql是開源軟件,一些有能力的公司會基于已有的Mysql架構,進行修改、調整改成適合自己公司的業(yè)務需要。

一點是因為Mysql免費,相對昂貴的Oracle服務,對于很多剛起步的公司來說,是最適合不過的數據庫了。

  之所以要認識Mysql的邏輯架構,就好比我們自己在做開發(fā)時,首先需要先掌握自己系統(tǒng)用的分層架構,這樣在開發(fā)的過程中,如果有哪個環(huán)節(jié)產生問題,就很好排查。認識Mysql的邏輯架構也同理,我們在用Mysql的時候,我們不清楚它什么時候會出現問題,但是當出現問題時(比如優(yōu)化查詢sql,要從哪一步開始),我們可以更清楚的定位問題。

1.Connections 連接器

我們連接Mysql的服務作為客戶端連接Mysql服務端,Mysql可以連接各個編程語言平臺

2.系統(tǒng)管理和控制工具(Management Serveices Utilities)

作為Mysql服務的管理和控制工具,比如備份、還原、復制、集群等

3.連接池(Connection Pool)

連接池的主要功能是提供連接認證、線程復用、連接數限制等

4.SQL Interface(SQL接口)

這里主要是接收Mysql 的DML、DDL語句,以及存儲過程、視圖、觸發(fā)器等

5.Parse(解析器)

這里主要的對傳過來的sql字符串進行解析,比如我們一開始接觸的jdbc編程,就是將字符串類型的sql語句發(fā)送到mysql里,然后解析器首先對sql語句進行詞法分析,形成語法樹,接著再對語法樹進行語法分析,看各個分詞是否符合SQL92標準,符合的話再執(zhí)行下一環(huán)節(jié)業(yè)務處理。

6.查詢優(yōu)化器(Optimizer)

查詢優(yōu)化器根據傳過來的SQL語句,進行分析判斷是否是最優(yōu)的執(zhí)行語句,主要針對一下三個方面進行分析:
* 使用哪一個索引(一個表有若干個索引,選擇過濾力度最大的那個)
* 多表關聯的表連接順序
* WHERE條件的先后順序(根據MYSQL最左前綴原則,會重新擺放條件順序)

7.查詢緩存(CacheBuffer)

MYSQL會將每一條SQL進行hash處理后將hash值放到一個map中,每次有SQL來時先計算SQL的hash值,比較是否相同,相同的話可以執(zhí)行內存的SQL,而不必對新的SQL語句進行解析、優(yōu)化等操作,加快執(zhí)行效率。

8.存儲引擎(Pluggable Storage Engines)

MSQL的存儲引擎支持可插拔特性,即用戶可隨意替換想用的存儲引擎,也可以自定義自己的存儲引擎,這里主要針對INNODB、MYISAM存儲引擎進行分析比較。

平時涉及到存儲引擎的選型,主要針對業(yè)務的需要來選擇,可以參考各自的特點。

存儲引擎的選型:

InnoDB:

支持事務處理,支持外鍵,支持崩潰修復能力和并發(fā)控制。如果需要對事務的完整性要求比較高(比如銀行),要求實現并發(fā)控制(比如售票),那選擇InnoDB有很大的優(yōu)勢。如果需要頻繁的更新、刪除操作的數據庫,也可以選擇InnoDB,因為支持事務的提交(commit)和回滾(rollback)。

MyISAM:

插入數據快,空間和內存使用比較低。如果表主要是用于插入新記錄和讀出記錄,那么選擇MyISAM能實現處理高效率。如果應用的完整性、并發(fā)性要求比 較低,也可以使用。

MEMORY:

所有的數據都在內存中,數據的處理速度快,但是安全性不高。如果需要很快的讀寫速度,對數據的安全性要求較低,不需要持久保存,可以選擇MEMOEY。它對表的大小有要求,不能建立太大的表。所以,這類數據庫只使用在相對較小的數據庫表。

  這里有一張MYSQL的簡單執(zhí)行流程圖,憑靠這張圖對MYSQL整體的一個執(zhí)行流程會有清晰的認識。

   MYSQL的邏輯架構就介紹到這里。當然MYSQL還有對應的物理架構,不過這一塊主要涉及到MYSQL的各個日志文件,以及各個表的數據文件以及索引文件,在后面的章節(jié)再做介紹。

以上就是深入了解Mysql邏輯架構的詳細內容,更多關于Mysql邏輯架構的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MySQL雙主(主主)架構配置方案
  • MySQL 整體架構介紹
  • MySQL20個高性能架構設計原則(值得收藏)
  • MySQL 4種常用的主從復制架構
  • MySQL 學習總結 之 初步了解 InnoDB 存儲引擎的架構設計
  • MySQL架構體系知識點總結
  • Mysql邏輯架構詳解
  • MySQL數據庫體系架構詳情

標簽:拉薩 沈陽 鹽城 珠海 徐州 沈陽 移動 黔東

巨人網絡通訊聲明:本文標題《深入了解Mysql邏輯架構》,本文關鍵詞  深入,了解,Mysql,邏輯,架構,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《深入了解Mysql邏輯架構》相關的同類信息!
  • 本頁收集關于深入了解Mysql邏輯架構的相關信息資訊供網民參考!
  • 推薦文章