MySQL高階效能優化 5 優化分析

2021-10-01 15:04:27 字數 814 閱讀 2826

執行時間長

等待時間長

查詢語句寫的不好:各種連線以及子查詢,導致沒用上索引或者就沒有建立索引。

建立的索引失效:建立了索引,在真正執行的時候,索引失效了導致沒用上索引。

關聯查詢使用了太多的join。

伺服器優化和引數配置不合適:如果設定的不合理,比例不恰當也會導致效能下降,sql變慢。

什麼是索引

索引是乙個幫助mysql高效獲取資料的一種資料結構,類似字典的索引目錄可以通過索引快速的查詢到排好序的資料。

為什麼要建立索引

為了提高查詢資料的效率

建立索引的優勢

提高了資料檢索的效率,降低了資料庫io的開銷

通過索引對資料進行排序,降低了排序的成本,降低了cpu的消耗

建立索引的劣勢

索引是以檔案的形式儲存在磁碟中。會占用空間。

索引也是一張表,該錶儲存了主鍵與索引欄位並指向實體表的記錄。所以也佔空間。

更新表時,mysql不僅要儲存資料,還要對索引檔案進行儲存,每次更新新增了索引的字段就會導致效能下降。

索引提高了查詢速度但是降低了更新速度。

會調整因為更新帶來的鍵值變化後索引的資訊。

索引盡量加在經常用來查詢的字段上,避免加在那些常常發生變化的字段上。

索引的分類

單值索引:乙個索引只包含單個列,乙個表可以有多個單值索引。

唯一索引:索引列的值必須唯一,但是可以有空值

復合索引:乙個索引包含多個列

mysql高階 索引優化分析

2 效能分析 explain 3 索引優化 筆記於學習尚矽谷課程所作 慢查詢的開啟並捕獲 explain 慢sql分析 showprofile查詢sql在mysq1伺服器裡面的執行細節和生命週期情況 sql資料庫伺服器的引數調優。mysql官方對索引的定義為 索引 index 是幫助mysql高效獲...

MySQL高階 索引優化分析

二.效能分析 4 explain欄位解釋 select type 5 explain欄位解釋 table 6 explain欄位解釋 type 7 explain欄位解釋 possible keys 8 explain欄位解釋 key 9 explain欄位解釋 key len 10 explain...

mysql容器效能優化 MySQL高階 效能優化

1.應用優化 1.1 使用資料庫連線池 使用資料庫連線池,避免資料庫連線頻繁的建立和銷毀,進而減少資源的消耗,提高資料庫的訪問效能。1.2 減少對mysql的訪問 1.2.1 避免資料重複檢索 能一次檢索獲取到結果,就不要進行倆次檢索,減少對資料庫的無用重請求。1.2.2 增加cache層 增加快取...