索引的工作原理及其优缺点
2019獨角獸企業重金招聘Python工程師標準>>>
數據庫索引,在數據庫管理系統中是一個排序形式的數據結構,以協助快速查詢和更新數據庫表中數據。索引的實現通常使用B樹及其變種B+樹。
在數據之外,數據庫系統還維護著那些滿足特定查找算法的數據結構,這些數據結構以某種方式引用(指向)數據,這樣就可以在這些數據結構上實現高級查找算法。這種數據結構,就是索引。
為表設置索引也是要付出相應的代價:第一,數據庫的存儲空間增大了;第二,在插入和修改數據時要花費較多的時間(因為索引也要隨之變動)。
創建索引可以大大提高系統的性能。
第一,通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性。
第二,可以大大加快數據的檢索速度,這也是創建索引的最主要的原因。
第三,可以加速表和表之間的連接,特別是在實現數據的參考完整性方面特別有意義。
第四,在使用分組和排序子句進行數據檢索時,同樣可以顯著減少查詢中分組和排序的時間。
第五,通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的性能。
也許會有人要問:增加索引有如此多的優點,為什么不對表中的每一個列創建一個索引呢?因為,增加索引也有許多不利的方面。
第一,創建索引和維護索引要耗費時間,這種時間隨著數據量的增加而增加。
第二,索引需要占物理空間,除了數據表占數據空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大。
第三,當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了數據的維護速度。
轉載于:https://my.oschina.net/u/2971691/blog/805978
總結
以上是生活随笔為你收集整理的索引的工作原理及其优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聊聊未来的前端时代
- 下一篇: 如何在IAR工程中创建和使用模板