请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于数据库B Tree索引

请问下老师有没有B-Tree B+Tree B*Tree方面的资料推荐,想研究下索引结构的原理,谢谢。

正在回答

1回答

liuyubobobo 2018-06-19 02:54:26

在通用教材方面,《算法导论》B树一章专门讲解了B树的基本原理,应该是最容易access到的材料:)


wiki从来都是一个好地方,可以对某一个topic有整体性的认识,同时在综述中不失有各种引向更加细节讨论的链接。wiki上的B树传送门:

B树:https://en.wikipedia.org/wiki/B-tree

B+:https://en.wikipedia.org/wiki/B%2B_tree


如果对具体实现感兴趣,GeeksforGeeks的B-Tree专题介绍给出了C++实现:

PART 1:https://www.geeksforgeeks.org/b-tree-set-1-introduction-2/

PART 2:https://www.geeksforgeeks.org/b-tree-set-1-insert-2/

PART 3:https://www.geeksforgeeks.org/b-tree-set-3delete/

从道理上互联网上应该还有很多其他语言实现的代码内容,有兴趣可以根据自己熟悉的语言再搜索一下。


在具体结合数据库方面,有一个小有名气的代码仓,实现了一个小型数据库的内核,其中的主要数据结构当然使用B树啦。代码仓:https://github.com/cstack/db_tutorial

同时,他写了一本小书,描述整个实现过程。所有的内容可以免费在网上浏览,不过比较简略。传送门:https://cstack.github.io/db_tutorial/


《数据库系统概念》这本书(Database System Concepts)在第十一章专门介绍了B树在大型数据库系统中的使用原理。不过由于我不是专业搞数据库的,没有看过这种这么专门介绍数据库系统的书籍。这本书的最新版目录可以在网上找到。传送门:http://codex.cs.yale.edu/avi/db-book/db6/toc-dir/toc.pdf 如果有必要也可以参考:)


加油!

7 回复 有任何疑惑可以回复我~
  • 提问者 kxning #1
    非常感谢bobo老师,非常详细的回答,我好好学习下,谢谢。
    回复 有任何疑惑可以回复我~ 2018-06-23 15:20:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信