《第一講 一條查詢sql是如何執行的》-讀書筆記

Myqsl的結構如下:

連接器:負責進行鑑權,當進行數據庫連接時,會進入連接器進行鑑權。

解析器:對sql進行解析,如果sql不準確,將會在這層拋出異常。如果開啓了緩存,將進行緩存查詢。

優化器:sql將會進行優化,比如確認join的鏈接順序,有多個單列索引時,應該使用哪個。

執行器:執行腳本,如果沒有設置默認是調用innodb引擎。

緩存:如果開啓緩存,是以key-value的形式存儲,key是執行的sql,value是data,但是要慎用緩存,因爲緩存會頻繁的寫入數據,會導致緩存頻繁刷新。緩存命中率會降低。

query_cache_type設置成DEMAND可以不使用緩存設置。sql使用SQL_CACHE可以直接使用緩存。mysql8.0直接去掉了緩存模塊。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章