mysql 筆記 架構

2022-07-02 22:51:08 字數 968 閱讀 5050

1 第一層:連線處理、授權認證、安全

2 第二層:內建函式、解析、優化、跨儲存引擎的功能:儲存過程、觸發器、檢視

3 第三層:資料在儲存和提取,底層函式(如開始事務)不解析sql、儲存引擎之間不相互通訊,只響應上層

客戶端連線到伺服器-需要認證:使用者、原始主機、密碼-然後驗證特定操作許可權

優化器:會請求儲存引擎提供容量或某個具體操作的開銷資訊以及表資料的統計資訊,在解析查詢之前伺服器會先檢查查詢快取query cache,如果能找到,伺服器就不必再執行查詢解析、優化和執行 的整個過程,直接返回查詢快取中的結果集

併發控制:多個查詢需要同一時間修改資料

使用鎖防止資料損壞,但不支援併發處理

鎖有:共享鎖、排他銷 也叫 讀鎖 、寫鎖

讀鎖是共享的,相互不阻塞

寫鎖是排他的,會阻塞其他的寫鎖和讀鎖

鎖策略:在鎖的開銷和資料的安全性之間尋求平衡。每種mysql儲存引擎都可以實現自己的鎖策略和鎖粒度。

表鎖:table lock ,mysql中最基本的鎖策略,且開銷最小的鎖策略

寫操作前需要先獲得寫鎖,這會阻塞其他使用者對該錶的所有讀寫操作

讀鎖之間是不相互阻塞的

寫鎖比讀鎖有更高的優先順序

儘管儲存引擎可以管理自己的鎖,mysql本身還是會使用各種有效的表鎖來實現 不同的目的。例如:伺服器會為alter table之類的操作語句使用表鎖

行級鎖:可以最大程式的地支援併發處理,同時也帶來了最大的鎖開銷

innodb/xtradb實現了行級鎖。只在儲存引擎層實現,而mysql伺服器層沒有實現

事務:獨立的工作單元,事務內的語句,要麼全部執行成功,要麼全部執行失敗。strat transaction 開始事務 commit提示事務,rollback回滾事務 

屬性:acid 原子性、一致性、隔離性、永續性

MySQL 學習筆記 架構

1 mysql伺服器邏輯架構圖 第一層 該服務並不是mysql所獨有的,大多數基於網路的客戶端 伺服器的工具或者服務都有的類似的架構。比如連線處理 授權認證 安全等等。第二層 mysql的核心服務功能,包括查詢解析 分析 優化 快取以及所有的內建函式 日期 時間 加密 所有跨存引擎的功能都在這裡實現...

Mysql歷史架構筆記

開發5.0版,他將增加儲存過程 伺服器端游標,觸發器,檢視,xa事務,查詢優化器重大改進及許多其他特性。2004年10月4.1版穩定了 5.0版則在一年以後變得穩定,時間是2005年10月。mysql的架構 核心模組 可在伺服器識別出下列模組 伺服器初始化模組 連線管理器 執行緒管理器 使用者驗證模...

MySQL學習筆記(一) MySQL基礎架構

mysql可分為server層和儲存引擎層兩部分 1.1 server層 聯結器 許可權驗證 盡量使用長連線,但是長連線會消耗記憶體,可以定時清理,也可以重新初始化鏈結資源 查快取 一般不用,除非讀多寫少 8.0移除 分析器 詞法分析,語法分析,語法解析 優化器 使用哪個索引 表連線順序 執行器 執...