Mysql優化系列之二,Mysql存儲引擎和抉擇

<code>嗨,我是《零學IT》,專注IT那點事,接下來是系列專題,Mysql優化技巧分析!/<code> 
Mysql優化系列之二,Mysql存儲引擎和抉擇

來來,Mysql呀

一、Mysql存儲引擎抉擇

Mysql優化系列之二,Mysql存儲引擎和抉擇

Mysql各大存儲引擎特點

1、事務

如果應用需要事務支持,那麼InnoDB是目前最穩定並且經過驗證的選擇。如果不需要事務,並且主要是select和insert操作,則MyISAM是個不錯的選擇,一般日誌型應用比較符合這一個特性

2、備份

備份的需求也會影響存儲引擎的選擇。如果需要在線熱備份,則選擇InnoDB就是基本的要求。

3、崩潰恢復

數據量比較大的時候,系統崩潰後如何快速恢復是一個需要考慮的額問題。相對而言,MyISAM崩潰後發生損壞的概率比InnoDB高的多,而且恢復也慢,因此即使不需要事務,通常也應該選擇InnoDB引擎

<code>PS:實際開發過程中,一個數據庫中多個表可以使用
不同引擎以滿足各種性能和實際需求,
使用合適的存儲引擎,將會提高整個數據庫的性能。

如果無法確定的時候,
通常InnoDB是個不錯的選擇。/<code>

二、SQL執行流程

Mysql優化系列之二,Mysql存儲引擎和抉擇

SQL語句的執行流程

 mysql得到sql語句後,流程如下:

  1.sql的解析器:負責解析和轉發sql

  2.預處理器:對解析後的sql樹進行驗證

  3.查詢優化器:得到一個執行計劃

  4.查詢執行引擎:得到數據結果集

  5.將數據放回給調用端

Mysql優化系列之二,Mysql存儲引擎和抉擇

來來來,流程喲

<code>這篇就先到這裡,歡迎大家隨時交流探討。/<code>


分享到:


相關文章: