當前位置:成語大全網 - 書法字典 - 詳細講解sql優化及原理,五分鐘了解sql優化。

詳細講解sql優化及原理,五分鐘了解sql優化。

對我來說,這是壹次復習,然後總結出來作為大家的教材。

我也是看視頻總結的筆記,所以我說的很簡單,也很淺顯。不客氣的指出,有不完整或者有偏差的地方,* * *和交流進步是壹樣的。(因為當時在看視頻裏總結的筆記,可能比較亂。我會盡量寫清楚,會在最後附上註釋,忽略我難聽的話。)

指數是什麽?它相當於壹本字典的目錄。

Index: Index是壹種幫助mysql高效獲取數據的數據結構。索引是壹種數據結構(樹,默認為B樹),散列等。

索引的弊端:任何事物都是雙面的,肯定有利弊。

指數的優點:指數之所以有那麽多缺點,是因為利大於弊。

索引的分類:

下面舉個小例子,讓大家更好地理解復合索引:如果我把壹個表中的姓名和年齡兩列做成復合索引(註意順序很重要)。那麽我們形成的壹級目錄是姓名,二級目錄是年齡。只有當名稱相同時,才會再次形成目錄。因為它本身的排序不像目錄,我們試著用目錄來想象。下面是壹個圖表:

有幾點需要註意:

這裏上面提到的方法都是原生sql。比如我現在習慣用navicat,可以直接操作。。太牛逼了。

那麽刪除查詢也是直接可見的,極其方便。我不多說了。

以mysql為例,有壹個引擎可以優化。mysql中有兩種引擎:

Sql優化級別:

上面提到的這些等級可以在explain中看到。

單表優化的常用方法:

多表優化的常用方法:

因為上面也提到了B樹,所以單獨說壹下。其實我也不太懂。只能說簡單的理解。這裏簡單說壹下。

首先,壹棵B樹不僅可以是二叉的,還可以是三叉的和多叉的。任何大於二進制的都叫做BTree。

據說三層BTree可以存儲上百萬的數據。

BTree壹般指B+樹,所有數據都存儲在葉節點中。(這裏是壹個簡單的三元樹形圖)

好了,就寫到這裏吧。希望以後多了解算法,以後可以填B樹的坑~ ~ ~然後有不同意見或者自己理解可以留言或者私聊。

全文,如果妳覺得有幫助,請點贊,註意點~ ~