天天看點

MySQL學習筆記——MySQL性能優化方法簡述

資料庫的優化是一項重要的技能,我們希望通過不同的優化方式來達到提高MySQL資料庫性能的目的。部落客在學習資料庫期間基礎的優化知識總結出來,僅供參考,歡迎讨論和指正。

1優化查詢

1.1 索引對查詢速度的影響

索引可以快速定位表中的某條記錄,使用索引可以提高資料庫的查詢速度,進而提高資料庫的性能。

注意以下幾點:

索引會使得插入速度變慢;

如果查詢語句中使用LIKE關鍵字,隻有%放置在非首位索引才會被使用;

如果查詢語句中使用多列索引,隻有查詢條件使用了第一個字段才會使用索引);

如果查詢語句中有OR關鍵字,需要兩個條件都是索引才能使用索引。

1.2 優化子查詢

子查詢是在我們的查詢中使用很頻繁,子查詢可以使得我們的查詢很靈活,但是因為它在查詢過程中,MySQL需要為内層查詢語句的查詢結果建立一張臨時表,外層在查詢臨時表中的記錄。查詢結束後,還需要撤銷臨時表。由此可見,子查詢會使得性能降低。是以推薦在查詢中多使用連接配接查詢。

1.3 将字段很多的表分解

我們在查詢中很有可能隻需要查詢某些特定的字段,比如我們查詢學生表格,更多的是關心學生的學号、姓名和學院等基本資訊,對其生日家庭住址等字段查詢頻率很低。是以我們将高頻查詢的字段提取到新的表中,達到提高查詢作用。

1.4 增加中間表

多表查詢過程會降低MySQL的查詢速度,我們可以通過建立中間表來提高查詢速度。通過分析經常需要同時查詢的這些表中的極端,将這些極端建立一個中間表,并從原表中的資料插入,下次查詢我們隻需要查詢中間表資料即可,達到提高性能的目的。

2 優化插入記錄的速度

2.1 禁用索引或者禁用唯一性檢查

插入記錄的時候,索引、唯一性校驗都會影響插入記錄的速度,是以我們在權衡查詢插入速度的條件下,合理地禁用索引或者禁用唯一性檢查。

2.2 優化INSERTY語句

插入多條語句我們希望一個INSERT插入多條記錄,因為這樣可以減少與資料庫之間的連接配接操作,性能更加。

3分析表、檢查表和優化表

分析表主要分析關鍵字的分布,檢查表主要是檢查表是否存在錯誤,優化表的主要作用是消除删除或者更新造成的空間浪費

4 優化伺服器硬體

通俗點,就是買買買高配電腦,提升硬體條件

5 優化MySQL的參數

記憶體中會為MySQL儲存部分的緩存區,可以通過合理地設定MySQL中的配置檔案中緩存區的大小來提高資料庫的性能。

繼續閱讀