zoukankan      html  css  js  c++  java
  • 数据库索引 B-Tree索引 hash索引

    InnoDB用的B+树

    B+Tree跟B-Tree相比

    1,B+Tree索引的磁盘读写代价低

    因为B+Tree索引非叶子节点不存数据信息,只存索引,这就意味着物理磁盘同一块的数据区域能读到更多的索引信息,更快找到所查索引的位置,减少IO操作。

    2,B+Tree索引的查询效率更加稳定

    因为最终查找的数据都在叶子结点,所以路径都是一样的,效率稳定

    3,B+Tree更有利于对数据库的扫描

    B+Tree索引的叶子结点之间都是链表链接起来的,所以范围查找特别方便

    hash索引跟B+Tree相比

    1,仅仅能满足 “=”,“IN”,不能使用范围查询,因为hash值是一对一的,数据相互之间没有联系

    2,无法被用来避免数据的排序操作

    3,不能利用部分索引键查询

    4,不能避免表扫描,因为有些hash值可能相等,然后就要进行hash值相等的数据进行扫描

    5,遇到大量hash值相等的情况后性能并不一定B-Tree索引高

    BitMap 索引

    不过很少支持,只有Oracle支持

    密集索引和稀疏索引

    稀疏索引同一个磁盘块能够查询到更多的值,如果是数据统计,或者范围查找稀疏索引更快

     

    InnoDB

  • 相关阅读:
    什么是Servlet
    Linux进程创建、执行和切换过程理解
    java实现验证码登录
    jsp页面如何动态显示当前时间
    java容器的一些存取用法
    java内存的那些事
    eclipse的常用快捷键
    二叉树前序、中序、后序遍历相互求法
    二叉树的遍历
    jsp添加背景音乐
  • 原文地址:https://www.cnblogs.com/wangpengtao/p/10712232.html
Copyright © 2011-2022 走看看