zoukankan      html  css  js  c++  java
  • 哈希索引

    一、首先mysql 的innodb 和myisam 存储引擎都是不支持hash 索引的,这里的不支持指的是不能人为干预hash 索引的建立,而是通过自适应的方式,InnoDB存储引擎会自动根据访问的频率和模式来自动地为某些热点页建立哈希索引。

    二、hash 算法

    hash 算法的时间复杂度为o1,也就是通过一次查询就能找到结果,不同于B tree 的是,btree 检索每次都是从跟节点自上而下查找,查找的次数取决于树的高度,一般树的高度为3或4,所以要经过3到4次计算才能找到结果。

    三、hash 索引对比btree 索引 的优劣势

    1.在理想的情况下,不同的键会被转换为不同的索引值,但是在有些情况下我们需要处理多个键被哈希到同一个索引值的情况。所以哈希查找的第二个步骤就是处理冲突
    如下图红色箭头所示。
    2.1.如果是等值查询,那么hash 索引对比btree 有绝对的优势,但是如果是范围查询hash 就没有用武之地了
    3.在存在相同键值的时候,

  • 相关阅读:
    基本类型
    匿名对象和匿名方法
    定时任务@SChedule详解
    docker的配置和安装
    数据库的学习
    docker的学习
    nginx的学习
    yyyy-MM-dd HH:mm:ss.SS的大小写的含义
    单例模式的学习
    layer的学习
  • 原文地址:https://www.cnblogs.com/lufei33180/p/14245554.html
Copyright © 2011-2022 走看看