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

  • 相关阅读:
    [转] Web前端优化之 Server篇
    [转] Web前端优化之 内容篇
    [学习笔记] Web设计过程中该做和不该做的
    web前端性能优化
    jQuery代码片段
    socket.io
    ajax阻塞UI线程
    前端面试题整理
    nodejs之async异步编程
    jquery源码笔记
  • 原文地址:https://www.cnblogs.com/wangpengtao/p/10712232.html
Copyright © 2011-2022 走看看