數(shù)據(jù)庫索引

索引

為什么我們需要索引

加快數(shù)據(jù)庫的查詢速度佃声。

實現(xiàn)

索引的基本原理:保存一些元數(shù)據(jù)作為路標函似,幫助我們快速查找數(shù)據(jù)咒唆。如果我們想要以不同的方式查找同一份數(shù)據(jù)镶殷,可能需要建立多份索引聪全。

  • 哈希:單行查詢的時間復雜度是 O(1),但是范圍查詢的時間復雜度會退化到 O(n)载佳,而 SQL 有很多范圍查詢炒事。

  • 樹:平衡樹的增刪查改的時間復雜度是 O(lg(n)),與樹的高度成正比蔫慧。但是挠乳,不同平衡樹的區(qū)別是對磁盤IO的優(yōu)化。

    • 平衡二叉搜索樹:(1)樹的高度比較高姑躲,一次查詢可能比較慢睡扬。(2)一個節(jié)點只存儲了一條記錄,需要多次磁盤IO黍析。
    • B 樹:(1)m 叉樹存儲大量數(shù)據(jù)時卖怜,樹的高度仍然比較低。(2)一個節(jié)點存儲了多條記錄橄仍,如果將一個節(jié)點的大小設(shè)置為磁盤頁大小韧涨,例如 4K,可充分利用磁盤預讀的特性侮繁,極大地減少磁盤 IO 次數(shù)虑粥。
    • B+ 樹:將葉子節(jié)點組成了一個有序鏈表,范圍查詢的效率比 B 樹高宪哩。

優(yōu)缺點

優(yōu)點:大大加快查找數(shù)據(jù)的速度娩贷。

缺點:維護索引會產(chǎn)生額外的開銷,特別是寫入的時候锁孟。任何類型的索引都會減慢寫入速度彬祖,因為每次寫操作都會更新索引。所以品抽,數(shù)據(jù)庫通常不會為所有數(shù)據(jù)生成索引储笑,需要程序員或DBA基于應用查詢模式的了解來正確設(shè)置索引,以獲取最大的收益圆恤。

怎么正確地使用索引

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末突倍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌羽历,老刑警劉巖焊虏,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秕磷,居然都是意外死亡诵闭,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門澎嚣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疏尿,“玉大人,你說我怎么就攤上這事币叹∪笄福” “怎么了?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵颈抚,是天一觀的道長。 經(jīng)常有香客問我嚼鹉,道長贩汉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任锚赤,我火速辦了婚禮匹舞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘线脚。我一直安慰自己赐稽,他們只是感情好,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布浑侥。 她就那樣靜靜地躺著姊舵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪寓落。 梳的紋絲不亂的頭發(fā)上括丁,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天,我揣著相機與錄音伶选,去河邊找鬼史飞。 笑死,一個胖子當著我的面吹牛仰税,可吹牛的內(nèi)容都是我干的构资。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼陨簇,長吁一口氣:“原來是場噩夢啊……” “哼吐绵!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤拦赠,失蹤者是張志新(化名)和其女友劉穎巍沙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荷鼠,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡句携,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了允乐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矮嫉。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖牍疏,靈堂內(nèi)的尸體忽然破棺而出蠢笋,到底是詐尸還是另有隱情,我是刑警寧澤鳞陨,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布昨寞,位于F島的核電站,受9級特大地震影響厦滤,放射性物質(zhì)發(fā)生泄漏援岩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一掏导、第九天 我趴在偏房一處隱蔽的房頂上張望享怀。 院中可真熱鬧,春花似錦趟咆、人聲如沸添瓷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鳞贷。三九已至,卻和暖如春计雌,著一層夾襖步出監(jiān)牢的瞬間悄晃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工凿滤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留妈橄,地道東北人。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓翁脆,卻偏偏與公主長得像眷蚓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子反番,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361