mysql - 深入浅出索引

mysql - 深入浅出索引

  • 索引是数据库系统里面最重要的概念之一。
  • 索引的出现其实就是为了提高数据库查询的效率,就像书的目录一样。
索引常见的模型
  • 目的:为了提高查询效率。
  • 可以用于提高读写效率的数据结构很多。介绍三种常见的,也比较简单的数据结构,分别为哈希表、有序数组和搜索树。
    • 哈希表:一种以键 - 值 (key - value) 存储数据的结构,我们只要输入待查找的值即key,就可以找到其对应的值即Value。哈希的思路相对比较简单,把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置。
      • 多个key值经过哈希函数的换算,会出现同一个值的情况,处理这种情况的一种方法是,拉出一个链表。
      • 哈希索引做区间查询的速度是很慢的。
      • 哈希表的这种结构适用于只有等值查询的场景。比如 Memcached 及其他一些NoSQL引擎。
    • 有序数组:有序数组索引只适用于静态存储引擎。
    • 二叉搜索树:
      • 特点:每个节点的左儿子小于父节点,父节点又小于右儿子。这个时间复杂度是O(log(N)).
      • 为了维持O(log(N))的查询复杂度,就需要保持这颗树的平衡二叉树。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值