1. 程式人生 > 資料庫 >學習:MySQL---》索引及其優化

學習:MySQL---》索引及其優化

1.索引:把新增索引的欄位全部放在一棵B+樹上,再次查詢的時候就會更加快速;
2.索引的分類
(1)單列索引:索引排序的時候,只用一個欄位的值進行排序;
(2)多列索引(聯合索引):索引排序的時候,用多個欄位的值進行排序,先用第一個欄位值進行排序,第一個欄位相同,再用第二個欄位進行排序。依次類推。
3.在表中的主鍵欄位,unique唯一鍵欄位都是自動新增索引項的,分別稱作主鍵索引和唯一鍵索引。
4.explain:用來分析SQL語句的執行計劃的。
例如:explain select *from user\G;
在這裡插入圖片描述
5.主鍵索引樹、輔助索引樹
在這裡插入圖片描述
注意:
在這裡插入圖片描述
優化為下面的:
在這裡插入圖片描述
6.建立索引的方式有兩種

(1)建立表時在欄位新增索引
在這裡插入圖片描述
(2)在已有的表中某個欄位新增索引
在這裡插入圖片描述
7.刪除索引
在這裡插入圖片描述
8.學會用explain檢視SQL的執行計劃,觀察索引的使用情況。(重要!!!)
(1)積累SQL和索引常見的優化措施;
(2)從實踐的角度來看,我們如何去解決一個專案中存在的SQL執行效率低的問題。
9.MySQL的日誌總共有四種
(1)二進位制日誌:主要存放 insert、delete、update、select等操作語句;
(2)查詢日誌 :主要儲存所有的select語句;
(3)錯誤日誌:主要記錄MySQL Server啟動階段、執行階段、關閉階段、重啟階段出現的一些異常;
(4)慢查詢日誌:會把ySQL Server執行過程中所有執行時間超過指定的 long_query_time時間的select查詢語句記錄下來。

10.例項
在這裡插入圖片描述
11.參考資料:《MySQL索引學習漫畫》