Mysql數據庫調優

mysql由於他的開源以及存儲引擎的優點,已經收到了衆多開發人員的喜愛,所以在面試過程中,mysql調優也是面試提問機率非常高的,這篇文章就讓我們來聊聊mysql調優都有哪幾種方式。

1、存儲引擎

首先,我們可以選擇適合的存儲引擎,例如比較重要的,需要支持事務的,我們可以使用innoDB,存儲登陸日誌之類的,我們可以使用ARCHIVE,如果單純的只是讀多或者寫多的,我們可以使用myIsam。

2、索引

我們需要建立高效的數據庫索引,索引並不是越多越好,在我們選擇建立索引的時候,所選擇的字段,需要儘可能的不一致,同時字段需要選擇經常作爲查詢條件的存在,索引列的字段長度也不要選擇太長的。

對於聯合索引,需要記住最左匹配原則。所以我們在創建聯合索引要按照優先級進行排序。

我們也可以選擇不同的索引類型,但是對於這個我掌握的比較薄弱,所以就不提用哪幾種了

3、sql語句

對於sql語句,其實是效率並不是特別高,因爲我們的數據庫底層都是有自己的優化措施的,但是有的點確實需要我們注意;

對於模糊查詢來說,如果是索引列,使用'%name'就會使用全表查詢,但是使用‘name%’,我們還能正常享受索引的快捷的

如果連接查詢,善用EXISTSIN,如果是exists,那麼以外層表爲驅動表,先被訪問,如果是IN,那麼先執行子查詢。所以IN適合於外表大而內表小的情況;EXISTS適合於外表小而內表大的情況。

在where中避免在左側使用表達式(age*2=36),避免使用 != 或者 <>,避免使用對字段進行null判斷。

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