mysql中的結構(mysql每日一講)

2021-09-23 22:41:54 字數 623 閱讀 9100

1、server層

(1)聯結器:mysql -hxx -uroot -p*** 這樣就連線上了

(2)分析器:通過識別關鍵字(select,from,group等)分析是否符合語法,做一層過濾,不滿足條件則不往下走

(3)優化器:如果存在索引及join操作,到底用哪個索引,join的順序等都是優化器來實現

(4)執行器:執行前會先判斷是否有許可權操作表,如果有,將結果返回

2、儲存引擎層

目前有innodb,myisam,memory,從5.5之後預設都是innodb

長連線:如果乙個sql比較長(join的多,查詢的多)那麼這個sql就是長連線

短連線:乙個sql很快就返回了結果。

長連線的優點:建立連線要耗費資源,長連線減少耗費

長連線缺點:由於mysql在執行過程中臨時使用的記憶體(比如子查詢,快取起來的記憶體)都在連線物件中管理,索引長連線記憶體會越來越大,無法釋放,甚至出現oom

總結:長連線弊大於利,盡量避免長連線

從5.7之後,執行mysql_reset_connection,可以做到將乙個長連線後迅速釋放記憶體

查詢快取:8.0之後mysql取消了查詢快取,弊大於利,每次好不容易快取的結果,只要對錶做了更新,所有的快取都消失。

mysql 物理結構 mysql物理結構

mysql是通過檔案系統對資料和索引進行儲存的。mysql從物理結構上可以分為日誌檔案和資料索引檔案。mysql在linux中的資料索引檔案和日誌檔案都在 var lib mysql目錄下。日誌檔案採用順序io方式儲存 資料檔案採用隨機io方式儲存。首先可以檢視mysql的檔案在linux中的那個目...

mysql記憶體結構 MySQL記憶體結構

實際上mysql記憶體的組成和oracle類似,也可以分為sga 系統全域性區 和pga 程式快取區 mysql show variables like buffer 一 sga 1.innodb buffer bool 用來快取innodb表的資料 索引 插入緩衝 資料字典等資訊。2.innodb...

mysql結構優化 mysql結構優化

影響資料庫效能的因素 資料庫結構 最大的 伺服器硬體,作業系統 mysql伺服器配置 良好的資料庫邏輯設計和物理設計,是獲得高效能的基礎。設計資料庫結構,不僅僅是考慮到 業務需求,還有考慮到以後需要用到的哪些查詢語句進行查詢,進而進行設計資料庫結構。優化資料庫結構,可以使查詢的語句盡量的簡單。這樣需...