第一章,Mysql架構與歷史
mysql與衆不同的特性是它的存儲引擎架構,這種架構將查詢處理即其他的任務系統和數據的存儲/提取相分離.
一,mysql的邏輯架構
第二層架構中,大多數的Mysql的核心服務功能都在這一層,包括查詢解析,分析優化,緩存以及所處的內置函數,所有的跨存儲引擎的功能都在這一層實現:存儲過程,觸發器,視圖等.
第三層包含Mysql的存儲引擎.存儲引擎負責Mysql中數據的存儲與提取.
每個客戶端連接都會在服務器進程中擁有一個線程,服務器會負責緩存線程.因此不需要新建.
Mysql會解析查詢,並創建內部的數據結構(解析樹),然後對其進行各種優化,包括重寫查詢,決定表的讀取順序,選擇合適的引擎.
對於SELECT 語句,在解析查詢之前,服務器會先檢查查詢緩存,如果能夠在其中找到對應的查詢.服務器就不必在執行查詢解析,優化和執行的整個過程.
二,併發控制.
當多個查詢在同一時刻修改數據,都會產生併發控制的問題,併發控制考慮的層次分爲服務器層和存儲引擎層.
讀寫鎖:
三,事務
四,多版本併發控制
五,mysql的存儲引擎
第四章,Schema與數據類型的優化
一,選擇優化的數據類型
二,Mysql schema設計中的數據類型的陷阱
三,範式與反範式
四,緩存表與彙總表
五,加快 ALTAB TABLE操作的速度.