摘要:定義索引是幫助高效排好序的數(shù)據(jù)結(jié)構(gòu)索引存儲在文件里形式二叉樹為什么用而不用二叉樹如果每次的數(shù)據(jù)都是以的形式添加,會造成二叉樹單邊增長,從而導(dǎo)致查詢效率依然低下紅黑樹會自己旋轉(zhuǎn),會有一個自平衡的過程,但是高度是不可控的如果是百萬級別的數(shù)據(jù),高
定義:索引是幫助MYSQL高效排好序的數(shù)據(jù)結(jié)構(gòu)
索引存儲在文件里
形式:二叉樹 HASH BTREE
為什么用BTREE而不用二叉樹:
如果每次的數(shù)據(jù)都是以1,2,3,4,5,6的形式添加,會造成二叉樹單邊增長,從而導(dǎo)致查詢效率依然低下
紅黑樹會自己旋轉(zhuǎn),會有一個自平衡的過程,但是高度是不可控的,(height),如果是百萬級別的數(shù)據(jù),高度是完全不可控的
為什么用BTREE而不用HASH:HASH如果是單個查找條件會比較快,比如col=3,直接用hash(index=3)即可,但是范圍查找的話效率很慢,大部分公司有很多業(yè)務(wù)都會是范圍查找
如果讓你來設(shè)計MySQL的BTREE,你覺得degree設(shè)為多少合適?
設(shè)為磁盤I/O一個節(jié)點的值,假如一次I/O最多取4k,就設(shè)為4k,作均衡
B+TREE的優(yōu)勢:非葉子節(jié)點不存儲數(shù)據(jù),只存儲key
評價一個索引結(jié)構(gòu)好壞的標(biāo)準(zhǔn):磁盤I/O次數(shù)
預(yù)讀:磁盤一般會順序向后讀取一定長度的數(shù)據(jù)(頁的整倍數(shù))放入內(nèi)存
局部性原理:如果一個數(shù)據(jù)被用到了,那他附近的數(shù)據(jù)也馬上會被用到
B+TREE的度一般會超過100,所以高度h會非常小(一般在3-5之間)
MyISAM索引實現(xiàn):MyISAM索引文件和數(shù)據(jù)文件是分離的 存儲引擎是表級別,不是數(shù)據(jù)庫級別
D-->Data I-->index
InnoDB-->聚集索引-->數(shù)據(jù)和索引是放在一起的-->是按主鍵索引構(gòu)建的一個BTREE樹
InnoDB-->推薦使用整型自增主鍵-->保證數(shù)據(jù)可以順序插入到當(dāng)前索引節(jié)點的后續(xù)位置,如果是用UUID,需要比較ASCII碼,還有可能插入的地方空間不足需要分裂開,花費更多的時間
不建議使用過長的字段作為主鍵,因為所有輔助索引都引用主索引,過長的主索引會令輔助索引變得過大
為什么非主鍵索引結(jié)構(gòu)葉子節(jié)點存儲的是主鍵值?(一致性和節(jié)省存儲空間)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/74873.html
摘要:雖然有了十全的計劃,但如何高效率去記住上面那么多東西是一個大問題,看看我是怎么做的。 前言 前一篇文章講述了我在三月份毫無準(zhǔn)備就去面試的后果,一開始心態(tài)真的爆炸,但是又不服氣,一想到每次回來后家人朋友問我面試結(jié)果的期待臉,越覺得必須付出的行動來證明自己了。 面經(jīng)傳送門:一個1年工作經(jīng)驗的PHP程序員是如何被面試官虐的? 下面是我花費兩個星期做的準(zhǔn)備,主要分三部分: 有計劃——計劃好...
摘要:基礎(chǔ)問題的的性能及原理之區(qū)別詳解備忘筆記深入理解流水線抽象關(guān)鍵字修飾符知識點總結(jié)必看篇中的關(guān)鍵字解析回調(diào)機制解讀抽象類與三大特征時間和時間戳的相互轉(zhuǎn)換為什么要使用內(nèi)部類對象鎖和類鎖的區(qū)別,,優(yōu)缺點及比較提高篇八詳解內(nèi)部類單例模式和 Java基礎(chǔ)問題 String的+的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解-備忘筆記 深入理解Java Stream流水...
閱讀 3072·2021-11-25 09:43
閱讀 2251·2021-09-07 10:28
閱讀 3543·2021-08-11 11:14
閱讀 2777·2019-08-30 13:49
閱讀 3544·2019-08-29 18:41
閱讀 1162·2019-08-29 11:26
閱讀 1976·2019-08-26 13:23
閱讀 3372·2019-08-26 10:43