阿里云双十一优惠活动,点击链接进行购买: 一年仅需89元即可以购买服务器~。我个人服务器为2核4G配置,也更加推荐购买 2核4G三年799元 配置的服务器。
你可以跟着我的笔记 当我有一台服务器时,我做了什么 来开始维护服务器并搭建应用,将引导你使用 docker 和 k8s 搭建一个自己的服务器开发集群。

# 如何创建一个高性能的索引

索引,将书刊中的内容或项目分类摘录,标明页数,按一定次序排列,附在一书之后,或单独编印成册,以便读者查阅,旧称通检或备检。

索引最初指一本书的目录,你可以快速定位到你要检索的内容,而不必逐页翻找。

而在数据库中,索引的关键字是 index 或者 key。创建一个合理的索引能够大幅提升检索效率,对查询性能的影响至关重要。如果你没有感觉到它对查询性能的重大影响,有可能是因为你们的数据亮太小了,如同一本十页的书,不需要使用目录也可以快速定位到你要检索的内容。

之所以索引能够给数据库查询性能带来重大影响,源自于索引的数据结构: B+ Tree 以及 Hash。从这里,我们可以看出来你所学到的数据结构也是有用武之地,而非屠龙之术。根据这两种数据结构,索引分为两大类,它们分别适用于不同的业务场景。

  • B+ tree
  • Hash
  • GiST: 空间向量
  • SP-GiST
  • GIN: 文档索引,倒排
  • BRIN

# B+ Tree 与 B Tree 索引

B Tree 索引实际上采用的数据结构是 B+ Tree,以下是关于 B+ Tree 的数据结构。

那它为什么不采用查询性能更高的二叉树,而偏偏选择多叉树的 B+ Tree 呢?

# 索引过程

# B Tree 索引及其限制

有时,你对表添加索引后,但对查询性能的影响微乎其微。这很可能源于你对 B+ Tree 的了解不够充分。

# 聚簇索引

Last Updated: 6/11/2020, 9:28:00 AM