執行時間長
等待時間長
查詢語句寫的不好:各種連線以及子查詢,導致沒用上索引或者就沒有建立索引。
建立的索引失效:建立了索引,在真正執行的時候,索引失效了導致沒用上索引。
關聯查詢使用了太多的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層 增加快取...