《MySQL命令執行過程和儲存引擎概述》閱讀筆記

2022-04-21 19:41:03 字數 955 閱讀 5114

使用mysql的完整過程:

啟動mysql伺服器程式。

啟動mysql客戶端程式並連線到伺服器程式。

在客戶端程式中輸入一些命令語句傳送到伺服器程式,伺服器程式收到這些請求後,會根據請求的內容來操作具體的資料。

也就是說,mysql伺服器程式才是真實資料的管理者,它負責解析各個客戶端發來的各種請求並返回相應的執行結果!

不論客戶端程式和伺服器程式是採用哪種方式進行通訊,最後實現的效果都是:客戶端程式向伺服器程式傳送一段文字(mysql語句),伺服器程式處理後再向客戶端返回一段文字(處理結果)。

mysql把資料的儲存和提取操作都封裝到了乙個叫儲存引擎的模組裡,我們知道表是由一行一行的記錄組成的,但這只是乙個邏輯上的概念,物理上如何表示記錄,怎麼從表中讀取資料,怎麼把資料寫入具體的物理儲存器上,這都是儲存引擎負責的事情。為了實現不同的功能,mysql提供了各式各樣的儲存引擎,不同儲存引擎管理的表結構可能不同,採用的訪問演算法也可能不同。不過這些儲存引擎都向上邊的服務層提供統一的呼叫介面,也就是對於我們使用者來說,如果我們需要使用某個儲存引擎提供的特定功能,只需要簡單的切換表的儲存引擎就可以了。

常用儲存引擎

儲存引擎

描述

archive

用與資料存檔(行被插入後不能再修改)

blackhole

丟棄寫操作,讀操作會返回空內容

csv在儲存資料時,以逗號分隔各個資料項

federated

用來訪問遠端表

innodb

具備外來鍵支援的事務儲存引擎

memory

置於記憶體的表

merge

用來管理多個myisam表構成的表集合

myisam

主要的非事務處理儲存引擎

ndbmysql集群專用儲存引擎

其中我們最常用的就是innodb和myisam。

mysql索引儲存 mysql索引和儲存引擎

mysql索引為什麼採用b 樹而不用b樹 1 b 樹只有葉節點存放資料,其餘節點用來索引,而b樹是每個索引節點都會有data域 索引放磁碟中,磁碟io就會增多 2 b 樹所有的data域在葉子節點,並且所有葉子節點之間都有乙個鏈指標。這樣遍歷葉子節點就能獲得全部資料,這樣就能獲得區間訪問了。在資料庫...

mysql儲存過程表 mysql儲存過程和表命令

show procedure status 2.顯示某個儲存過程的詳細資訊 sp為儲存過程名稱 show create procedure sp 3.顯示當前庫中所有表 show tables 4.顯示某個表的建表語句 test為表名 show create table test 5.刪除儲存過程 ...

mysql 過程和函式 MySQL 儲存過程和函式

變數 系統變數 變數由系統提供,不是使用者自定義的,屬於伺服器層面 全域性變數 會話變數 如果是全域性級別,則需要加global,如果是會話級別,則需要加session,如果不寫,則預設是會話 檢視全域性變數 show global variables show global variablesli...