char 和 varchar 的区别,数据库索引B+树
生活随笔
收集整理的這篇文章主要介紹了
char 和 varchar 的区别,数据库索引B+树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
char 和 varchar 的區別
char(n) :固定長度,效率高;缺點:占用空間;存儲固定長度的,使用 char 非常合適。
varchar(n) :可變長度,存儲的值是每個值占用的字節再加上一個用來記錄其長度的字節的長度。
索引建立原則:在頻繁使用的、需要排序的字段上建立索引。
InnoDB 存儲引擎的默認索引為 B+ 樹索引 ,B+ 樹只有葉子節點才存儲數據,其他都是索引, B+ 樹元素自底向上插入。
B+樹的特征:
1.有k個子樹的中間節點包含有k個元素(B樹中是k-1個元素),每個元素不保存數據,只用來索引,所有數據都保存在葉子節點。
2.所有的葉子結點中包含了全部元素的信息,及指向含這些元素記錄的指針,且葉子結點本身依關鍵字的大小自小而大順序鏈接。
3.所有的中間節點元素都同時存在于子節點,在子節點元素中是最大(或最小)元素。
B+樹的優勢:
1.單一節點存儲更多的元素,使得查詢的IO次數更少。
2.所有查詢都要查找到葉子節點,查詢性能穩定。
3.所有葉子節點形成有序鏈表,便于范圍查詢。
所有記錄都在葉節點中,并且是順序存放的,如果我們從最左邊的葉節點開始順序遍歷,可以得到所有鍵值的順序排序
總結
以上是生活随笔為你收集整理的char 和 varchar 的区别,数据库索引B+树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网友发现高铁座椅睡觉的最佳姿势:靠在男友
- 下一篇: REVERSE-PRACTICE-BUU