MySQL架構和儲存引擎

MySQL服務器整體架構如下:

連接層:

連接層的作用是處理客戶端的連接,如何管理連接的。

網絡端口和連接管理線程:

網絡端口:一臺服務器可以連接網絡上多個端口的客戶連接,只需要開放多個端口,只需要在選項文件中指定多個端口號即可。

連接管理線程:用來處理客戶端連接的請求。一個連接管理線程可以處理所有的TCP/IP請求。

客戶端連接線程管理:每一個客戶端請求都會對應一個執行線程,用于處理身份驗證和具體請求,執行線程也通過池化技術進行了緩存。用于提高線程的復用,避免頻繁創建銷毀線程。

系統變量thread_cache_size決定了線程緩存的大小,這個值在服務器啟動的時候會自動的設置,單頁可以通過選項文件指定大小,如果設置為0禁用緩存。

還可以通過設置thread_stack來調整堆棧大小,因為會設計到一些遞歸的原因。

還可以查看線程池中的線程數量新創建的線程數Theads_cachedTheads_created

鏈接量管理:

系統變量:max_connections控制服務器可以允許客戶端連接的最大請求數,當達到man_connections后,多余的請求就會拒絕,同時會增加Connection_errors_max_connections的值。

實際上mtysqld允許最大連接數是max_connections+1,多余那個是給CONNECTION_ADMIN用的。即使普通連接達到了max_connections,但是管理員也可以連接到服務器進行管理操作。

服務層:是整個服務器服務的核心,主要包括服務管理和公共組件,noSQL和SQL接口,解析器和查詢優化器,還有緩存等。

nosql和sql接口:用于接受客戶端發送的各種SQL語句和命令,然后發送給其他部分,最后將收到的結果返回給客戶端。

Paster(語法分析器):主要作用是將收到的sql語句中的關鍵字和自定義字段進行語法分析和詞法分析,最終使其轉化成一課解析樹,詞法分析就是對關鍵字進行提取,比如select、update、delete等,語法解析就是判斷sql語句是否滿足語法規則,如果不滿足救會報錯。

Optimizer(查詢優化器):作用將解析樹進行優化,將優化后的結果交給儲存引擎api,然后進行查詢,優化前后的查詢結果一樣,但是效率不一樣。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/919334.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/919334.shtml
英文地址,請注明出處:http://en.pswp.cn/news/919334.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

詳解flink java基礎(一)

文章目錄1.流式處理flink介紹2.Flink SQL介紹3. Flink Runtime4.使用flink集成kafka5.使用Flink SQL進行有狀態流處理6.Event time & Watermarks7. flink Checkpoints & recovery1.流式處理flink介紹 實時服務依賴流式處理: flink優點: 高性能豐富的特性&#xff1a…

Day119 持續集成docker+jenkins

Day119 dockerjenkins 1.Dockerfile Dockerfile 可以用于項目部署。通過編寫 Dockerfile,可以將整個項目及其所需的依賴項打包到一個 Docker 鏡像中,然后在任何支持 Docker 的環境中部署和運行該鏡像 Dockerfile 是用于構建 Docker 鏡像的文本文件。它包…

Vue3+Vite MPA多頁面應用開發完整指南 – 從零搭建到部署優化

什么是 MPA 多頁面應用 MPA(Multi-Page Application)是由多個獨立的 HTML 頁面組成的應用,每個頁面都有獨立的入口文件。與 SPA 不同,MPA 的每個頁面都是獨立的,頁面間通過鏈接跳轉,適合大型項目或需要 SE…

【企業級架構】企業戰略到技術落地的全流程【第一篇】

目錄 一、人生藍圖與企業羅盤:戰略視角下的成長架構 1. 大學畢業迷茫期 → 企業未制定戰略前:無方向、無目標? 2. 制定職業規劃 → 企業戰略制定:明確 “去哪” 和 “分幾步走”? 3. 盤點自身能力差距 → 業務架構梳理:搞清…

(二) Python + 地球信息科學與技術 = 經典案例分析

目錄 四、農業精準施肥與產量預測(植被指數 機器學習) 五、公共場所踩踏事故預警系統(時空大數據 Web 開發) 六、森林火災智能識別與救援路徑規劃(遙感 路徑優化) 七、海岸線侵蝕動態監測與防護&…

從需求到部署全套方案:餐飲服務許可證數據可視化分析系統的大數據技術實戰

🎓 作者:計算機畢設小月哥 | 軟件開發專家 🖥? 簡介:8年計算機軟件程序開發經驗。精通Java、Python、微信小程序、安卓、大數據、PHP、.NET|C#、Golang等技術棧。 🛠? 專業服務 🛠? 需求定制化開發源碼提…

Qt 關于QString和std::string數據截斷的問題- 遇到\0或者0x00如何處理?

Qt 關于QString和std::string數據截斷的問題- 遇到\0或者0x00如何處理?引言一、解決方案二、使用QByteArray注意事項引言 在Qt開發中,使用QString或std::string獲取、發送字符串時,遇到\0(空字符)或者0x00(十六進制表示)可能導致數據截斷&am…

Spring Cloud LoadBalancer 最佳實踐

Ribbon 曾經是 Spring Cloud 家族默認的客戶端負載均衡工具,而 Spring Cloud LoadBalancer (SCLB) 是官方替換 Ribbon 的新實現。表面上它們都解決 “服務調用時選哪個實例” 的問題,但在理念、架構和生態上差異不小。一、Ribbon vs SCLB1. 定位和生態…

【STM32】SPI 與 Flash 筆記

1?? SPI(Serial Peripheral Interface,串行外設接口)英文解釋: Serial:串行Peripheral:外設Interface:接口用途:MCU 與外部設備(Flash、傳感器等)高速數據通…

抽象工廠設計模式 Abstract Factory

抽象工廠抽象工廠設計模式是一種創建模式,它提供了一個用于創建相關或從屬對象族的接口,而無需指定其具體類。 它在以下情況下特別有用: 您需要創建必須一起使用并且是一致系列的一部分的對象(例如,按鈕、復選框和菜單…

WSL 下的虛擬網卡配置

第一部分:Windows 虛擬網卡創建指南 1. 原理 在 Windows 里,“虛擬網卡”本質是由網絡驅動在系統網絡棧中創建的一個 軟件網卡接口。它的作用和物理網卡類似,只不過不直接連接到物理硬件,而是通過內核網絡驅動與宿主機網絡進行交換…

Dify web前端源碼本地部署詳細教程

目錄 1. 先啟動API 2. 啟動worker服務 3. 啟動web 4. 訪問登陸地址 在前面的文章中,Dify源碼部署,搭建二次開發環境(一) 已經記錄了如何在本地啟動API、work、中間件。在本篇文章中,將概述如何啟動dify web源碼項…

CVPR 2025|英偉達聯合牛津大學提出面向3D醫學成像的統一分割基礎模型

在 2D 自然圖像和視頻的交互式分割領域,基礎模型已引發廣泛關注,這也促使人們開始構建用于醫學成像的 3D 基礎模型。然而,3D 醫學成像存在的領域差異以及臨床應用場景,要求開發一種有別于現有 2D 解決方案的專用模型。具體而言&am…

解決“Win7共享文件夾其他電腦網絡無法發現共享電腦名稱”的問題

要讓運行 Windows 7 的電腦被局域網中其他設備(包括另一臺電腦、手機、NAS 等)“發現”,必須同時滿足三個條件: 網絡發現功能已啟用;對應的后臺服務已啟動;防火墻規則放行。 下面給出最簡、最穩妥的 3 步設…

Python pyzmq 庫詳解:從入門到高性能分布式通信

一、前言 在現代軟件開發中,進程間通信(IPC)與分布式系統通信已經成為基礎能力。無論是構建一個微服務架構的后端,還是實現大規模并行計算任務,如何讓不同的進程或節點之間高效地傳遞消息,都是核心問題。 傳…

CentOS 7更換國內鏡像源

第一步:檢查系統版本 在修改任何配置之前,先確定你的 CentOS 版本,因為不同版本的鏡像源配置文件不同。 cat /etc/redhat-release這個命令會顯示你的 CentOS 版本信息,例如 CentOS Linux release 7.9.2009 (Core)。從你的錯誤日志…

詳解 doclayout_yolo:Python 文檔布局檢測

目錄一、doclayout_yolo 核心功能二、安裝方法1. 直接安裝2. 通過 PDF-Extract-Kit 安裝三、使用示例1. 快速體驗(HuggingFace Demo)2. 本地推理代碼3. 批量處理四、技術亮點五、應用場景六、其他說明1.相關資源2. 注意事項doclayout_yolo 是一個基于 Y…

貓頭虎AI分享|一款Coze、Dify類開源AI應用超級智能體Agent快速構建工具:FastbuildAI

貓頭虎AI分享|一款 Coze、Dify 類開源 AI 應用超級智能體快速構建工具:FastbuildAI 區別在于它的易用度和商業閉環功能 摘要:FastbuildAI 是一個開源的 AI 應用“快速構建 商業化閉環”工具。它讓個人開發者與小團隊用 可視化 零代碼 的方…

GitLab 安全漏洞 CVE-2025-6186 解決方案

本分分享極狐GitLab 補丁版本 18.2.2, 18.1.4, 18.0.6 的詳細內容。這幾個版本包含重要的缺陷和安全修復代碼,我們強烈建議所有私有化部署用戶應該立即升級到上述的某一個版本。對于極狐GitLab SaaS,技術團隊已經進行了升級,無需用戶采取任何…

【K8s】harbor安裝與推送鏡像

引言 在開發中,先推送鏡像到docker,然后直接在docker運行。但是在K8S中,需要動態創建或者分配機器,這里需要將鏡像推送到harbor倉庫,然后再從倉庫拉取到每臺集群機器。 docker安裝harbor:https://learnku…