螞蟻金服架構師帶你學優化一MySql性能優化實戰

概要:

Mysql的優化,大致能夠分爲三部分:索引的優化,sql語句的優化,表的優化。本文主要幫助本身整理思路,也可做爲一個學習MySQL優化的提綱。sql

索引的優化
  1. 只要列中含有NULL值,就最好不要在此例設置索引,複合索引若是有NULL值,此列在使用時也不會使用索引
  2. 儘可能使用短索引,若是能夠,應該制定一個前綴長度
  3. 對於常常在where子句使用的列,最好設置索引,這樣會加快查找速度
  4. 對於有多個列where或者order by子句的,應該創建複合索引
  5. 對於like語句,以%或者‘-’開頭的不會使用索引,以%結尾會使用索引
  6. 儘可能不要在列上進行運算(函數操做和表達式操做)
  7. 儘可能不要使用not in和<>操做
sql語句的優化
  1. 查詢時,能不要就不用,儘可能寫全字段名
  2. 大部分狀況鏈接效率遠大於子查詢
  3. 多使用explain和profile分析查詢語句
  4. 查看慢查詢日誌,找出執行時間長的sql語句優化
  5. 多表鏈接時,儘可能小表驅動大表,即小表 join 大表
  6. 在千萬級分頁時使用limit
  7. 對於常常使用的查詢,能夠開啓緩存
表的優化
  1. 表的字段儘量用NOT NULL
  2. 字段長度固定的表查詢會更快
  3. 把數據庫的大表按時間或一些標誌分紅小表
  4. 將表分區

螞蟻金服架構師帶你學優化-MySql性能優化實戰(附詳細視頻教程)

文末有視頻獲取方式

  • 1.步步驚心,MySql優化滿地是坑;
  • 2.叢林密佈,優化有圖可循;
  • 3.悔恨難當,只因用錯索引;
  • 4.披荊斬棘,執行計劃讓你脫離深坑;
  • 5.豁然開朗,SQL優化有方可循

一個SQL引起的思考

經常使用的優化方式

反範式化設計

三大範式

物理設計

索引是什麼?

最簡單的索引

稍微複雜點的索引

MySql中的索引

索引分類

總結

優化一般都須要三管齊下:不作、少作、快速地作。咱們但願這裏的案例可以幫助你將理論和實踐聯繫起來。數據庫

本文的重點是MySql性能優化。須要更詳細視頻資料和思惟導圖的能夠評論區留言,我會一一發送緩存

相關文章
相關標籤/搜索