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

  • 相关阅读:
    创建商品APP
    商品模块表结构分析
    sprintf 和 fprintf
    linux中sys目录
    linux中proc目录
    ioctl()函数
    ffmpeg下载安装
    【转】写给小白的实时音视频技术入门提纲
    linux常见目录解释
    linux nfs客户端开启失败解决办法
  • 原文地址:https://www.cnblogs.com/wangpengtao/p/10712232.html
Copyright © 2011-2022 走看看