mysql索引存放在哪個檔案 Mysql 索引

2021-10-17 15:41:10 字數 596 閱讀 6349

開門見山,直接上圖,下面的思維導圖即是現在要講的內容,可以先有個印象~

常見索引型別(實現層面)

索引種類(應用層面)

聚簇索引與非聚簇索引

覆蓋索引

最佳索引使用策略

1.常見索引型別(實現層面)

首先不談mysql怎麼實現索引的,先馬後炮一下,如果讓我們來設計資料庫的索引,該怎麼設計?

我們首先思考一下索引到底想達到什麼效果?其實就是想能夠實現快速查詢資料的策略,所以索引的實現本質上就是乙個查詢演算法。

但是跟普通的查詢有所不同,因為我們的資料有一下特徵:

1.儲存的資料是非常非常多的

2.並且還不斷的動態變化

所以實現索引時需要考慮到這兩個特點。我們需要找乙個最合適的資料結構演算法來實現查詢功能。

下面一起看下常見的查詢策略,如下圖:

由於前面說的兩個特點我們首先排除靜態查詢的演算法。

至於查詢樹,我們有二叉樹和多叉樹兩種選擇:

二叉樹:如果先澤二叉樹的話,由於我們的資料量龐大,二叉樹的深度會變得非

字串常量到底存放在哪個儲存區

字串常量,放在哪個儲存區呢?是 自動儲存區 還是 靜態儲存區 中?比如 char pstr hello world 這裡,hello world 是乙個字串常量,pstr是在棧中的變數。我想問,字串常量,在哪個記憶體區域分配空間呢?好像應該不是在 棧區 分配空間吧!一 預備知識 程式的記憶體分配 乙...

字串常量到底存放在哪個儲存區

字串常量,放在哪個儲存區呢?是 自動儲存區 還是 靜態儲存區 中?比如 char pstr hello world 這裡,hello world 是乙個字串常量,pstr是在棧中的變數。我想問,字串常量,在哪個記憶體區域分配空間呢?好像應該不是在 棧區 分配空間吧!一 預備知識 程式的記憶體分配 乙...

字串常量到底存放在哪個儲存區

字串常量,放在哪個儲存區呢?是 自動儲存區 還是 靜態儲存區 中?比如 char pstr hello world 這裡,hello world 是乙個字串常量,pstr是在棧中的變數。我想問,字串常量,在哪個記憶體區域分配空間呢?好像應該不是在 棧區 分配空間吧!一 預備知識 程式的記憶體分配 乙...