學習mysql如果在腦子裡對該資料庫系統的各個元件如何協作工作的流程很清晰的話,那麼肯定就會深入理解mysql伺服器,學習mysql是這樣,其他事情也是這樣。
伺服器會事先生成執行緒池,每個客戶端連線伺服器都會在伺服器的程序中歸屬於乙個執行緒,客戶端只會在自己歸屬的執行緒中執行查詢操作,伺服器會負責快取執行緒,不需要為每乙個新建的連線建立或銷毀執行緒。並當客戶端連線時對客戶端進行身份驗證,驗證是否具有查詢的許可權。
#執行緒池:定義乙個類似於dhcp位址池的執行緒池,伺服器負責分配和快取執行緒。
大多數mysql的核心服務部分都在第二層,包括查詢解析、分析、優化、快取以及所有的內建函式(數學函式、日期函式等)所有跨儲存引擎的功能都在這一層實現(儲存過程、觸發器、檢視等)
查詢快取:當伺服器接收到查詢請求後會首先檢視查詢快取,有則不會執行後續的解析優化執行等操作,直接輸出即可,如果在查詢快取中沒有找到則會執行整個過程。
解析器:伺服器會解析查詢,然後再內部建立解析樹。
優化器:生成解析樹後會對其進行優化,包括重寫查詢,表的讀取順序和選擇合適的索引等,
儲存引擎負責資料的提取和儲存,每個儲存引擎都有不同的功能,伺服器通過api與儲存引擎通訊遮蔽了不同儲存引擎之間的差異,儲存引擎的api有十幾個底層函式,例如開啟乙個事務等。儲存引擎不會解析sql。不同的儲存引擎之間不會相互通訊,只是簡單相應上層伺服器的請求查詢操作等。
一文看懂邏輯回歸
引數更新 總結多分類問題 現有20個學生投入0 6個小時學習課程的記錄,分析投入時間和是否通過考試的概率的關係。在這個問題中是否通過考試只有兩種結果 通過和不通過。可以用虛擬變數1和0分別表示。我們用y代表已知的考試結果,x為已知的投入時間,發現其中還有乙個隱藏變數 知識掌握程度,可以先設為z,假設...
一文回顧mysql
索引事務 鎖機制主要介紹myisam和innodb,在伺服器中,用於儲存資料會生成以下檔案 innodb採用的是b 樹作為索引的資料結構 經常用的列優先 最左匹配原則 離散型高的列優先 離散度高原則 寬度小的列優先 最小空間原則 提高每個節點的路數 索引按場景建,建多了會導致增刪改的時候,需要維護索...
一文講清楚事務隔離性
乙個人運算元據庫的時候,其他人都看不見 其他人不能讀 mvcc 其他人不能寫 通過加鎖 鎖 read view一般由兩部分組成 排他鎖小紅對取前的時候加上了鎖 排他鎖 所以其他人不能取錢了,所以等小紅這個操作 事務 結束了,這把鎖才能解開 事務的開始時間是更新操作執行的時候 讀未提交沒有mvcc的控...