1. 程式人生 > 其它 >資料庫索引為什麼用B+樹

資料庫索引為什麼用B+樹

原因如下

  1. B+樹能顯著減少IO次數,提高效率
  2. B+樹的查詢效率更加穩定,因為資料放在葉子節點
  3. B+樹能提高範圍查詢的效率,因為葉子節點指向下一個葉子節點

索引如何優化:

慢查詢日誌、查磁碟的I/O讀寫的資料量、show status

MySQL可以設定慢查詢日誌,當SQL執行的時間超過我們設定的時間,那麼這些SQL就會被記錄在慢查詢日誌當中,然後我們通過檢視日誌,用explain分析這些SQL的執行計劃,來判定為什麼效率低下,是沒有使用到索引?還是索引本身建立的有問題?或者是索引使用到了,但是由於表的資料量太大,花費的時間就是很長,那麼此時我們可以把表分成n個小表,比如訂單表按年份分成多個小表等。
資料庫畢竟是磁碟儲存,我們可以通過專案執行過程中,檢測磁碟I/O讀寫的資料量,來定位效率低下的SQL。

MySQL提供了show status命令,檢視MySQL Server的執行引數,可以檢視select,insert,delete,update語句的執行頻率,慢查詢次數,事務的提交和回滾的次數