数据库的索引与索引优化策略

本文介绍了数据库索引的基本类型,如B+树和哈希索引,并详细探讨了聚簇与非聚簇索引的区别。强调了索引优化的重要性,包括选择区分度高的列、遵循最左原则、避免索引断档以及考虑排序列。同时,提到了覆盖索引和小表驱动大表策略。最后,讨论了使用EXPLAIN进行查询分析以优化性能。
摘要由CSDN通过智能技术生成

数据库——索引

一、索引类型分类

  1. B+树

    B+树索引就是一种将索引值按一定的算法,存入一个树形的数据结构中(二叉树),每次查询都是从树的入口根结点开始,依次遍历节点,获取值。

    为什么索引采用B+树而不是B树呢,相信学过数据结构的同学了解B+树中结点会有指向兄弟结点的指针因此B+树只要遍历叶子节点就可以实现整棵树的遍历,而且在数据库中基于范围的查询是非常频繁的,而B树只能中序遍历所有节点,效率太低。

    image-20230222154814734
  2. Hash

    对于哈希索引来说,底层的数据结构肯定是哈希表,因此在绝大多数需求为单条记录查询的时候,可以选择哈希索引,查询性能最快O(1),但是无法范围查询。

​ 因为在数据库设计之初我们无法明确了解日后的需要到底是怎么样的,因此建议数据库添加索引时采用B+树这样的数据结构。

二、索引的形态

  1. 聚簇索引

  2. 非聚簇索引

    聚簇索引与非聚簇索引的区别分析

    • 一个表中只能拥有一个聚集索引,而非聚集索引一个表可以存在多个。
    • 聚集索引,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值