<code>嗨,我是《零學IT》,專注IT那點事,接下來是系列專題,Mysql優化技巧分析!/<code>
一、Mysql存儲引擎抉擇
1、事務
如果應用需要事務支持,那麼InnoDB是目前最穩定並且經過驗證的選擇。如果不需要事務,並且主要是select和insert操作,則MyISAM是個不錯的選擇,一般日誌型應用比較符合這一個特性
2、備份
備份的需求也會影響存儲引擎的選擇。如果需要在線熱備份,則選擇InnoDB就是基本的要求。
3、崩潰恢復
數據量比較大的時候,系統崩潰後如何快速恢復是一個需要考慮的額問題。相對而言,MyISAM崩潰後發生損壞的概率比InnoDB高的多,而且恢復也慢,因此即使不需要事務,通常也應該選擇InnoDB引擎
<code>PS:實際開發過程中,一個數據庫中多個表可以使用
不同引擎以滿足各種性能和實際需求,
使用合適的存儲引擎,將會提高整個數據庫的性能。
如果無法確定的時候,
通常InnoDB是個不錯的選擇。/<code>
二、SQL執行流程
mysql得到sql語句後,流程如下:
1.sql的解析器:負責解析和轉發sql
2.預處理器:對解析後的sql樹進行驗證
3.查詢優化器:得到一個執行計劃
4.查詢執行引擎:得到數據結果集
5.將數據放回給調用端
<code>這篇就先到這裡,歡迎大家隨時交流探討。/<code>
閱讀更多 零學IT 的文章