mysql 多邏輯 Mysql的邏輯架構

2021-10-19 17:15:25 字數 1806 閱讀 2624

mysql的邏輯架構圖

mysql是分層的

整體分為

connectors:連線驅動

enterprise management services & utillties :服務管理器和一些工具

connection pool:連線池

sql interfice : sql介面

parser:解析器

optimizer:優化器

caches & buffer :快取

pluggable storage engines:儲存引擎  第一次知道原來mysql有這麼對儲存引擎[捂臉]

file system:檔案系統 也就是c盤d盤只不過圖上畫的是分了ntfs和san

files & log : 檔案與日誌

是不是看完對mysql又有了乙個全新的認識;我也是

接下來說一下查詢快取

快取分別會快取sql和資料

sql快取預設開啟的

資料快取預設是關閉的

資料快取需要手動開啟同時設定快取大小

//查詢資料快取是否開啟

show variables like '%query_cache_type%'

//查詢快取的大小

show variables like '%query_cache_size%'

//設定開啟快取

如果不是on,修改配置檔案以開啟查詢快取,預設是off:

vi /etc/my.cnf

[mysqld]中新增:

query_cache_size = 20m

query_cache_type = 1

//設定快取大小

set global query_cache_size = 134217728;

手寫sql

sql解析

優化器源sql

由此可見是存在where條件的 查詢的表是esp_76

源sql

由此可見在經過sql優化器之後,where 1=1被優化掉了,在mysql看來有where和沒有where的執行結果是一致的

源sql

由此可見因為id是主鍵,所以不可能為null,所以mysql在extra中表示出這條sql是沒有返回結果的,並且table欄位也是空的,乾脆連表都不掃瞄了

這就是sql的優化器

太睏了,下一章說儲存引擎

內容關於:mysql

本文**於網路,只做技術分享,一概不負任何責任

mysql邏輯結構部落格 mysql 概念和邏輯架構

1.mysql整體邏輯架構 mysql 資料庫的邏輯架構如下圖 第二層值得關注。這是mysql的核心部分。通常叫做 sql layer。在 mysql據庫系統處理底層資料之前的所有工作都是在這一層完成的,包括許可權判斷,sql解析,行計畫優化,query cache 的處理以及所有內建的函式 如日期...

mysql 多邏輯 MySql邏輯架構

一 mysql伺服器邏輯架構圖 每個虛線框都是一層 第二層 大多數的mysql的核心服務功能都在這一層,包括查詢解析 分析 優化 快取以及所有的內建函式 例如 日期,時間,數學和加密函式等 所有跨儲存引擎的功能都在這一層實現 儲存過程,觸發器,檢視。第三層 包含了儲存引擎。儲存引擎負責mysql中的...

mysql索引的選擇 Mysql索引選擇邏輯

索引選擇邏輯 優化器選擇索引的目的,是找到乙個最優的執行方案,並用最小的代價去執行語句。在資料庫裡面,掃瞄行數是影響執行代價的因素之一。掃瞄的行數越少,意味著訪問磁碟資料的次數越少,消耗的 cpu 資源越少 掃瞄行數是怎麼判斷的?mysql 在真正開始執行語句之前,並不能精確地知道滿足這個條件的記錄...