zoukankan      html  css  js  c++  java
  • Hash索引和B树索引

    要知道磁盘结构优化访问的关键在于以block为单位(比如每次读取一个页面)

    这两种索引差别也就在聚集到一个block的标准:

    B树聚集到一个block是因为关键字在一个范围内,关键字在block内的排列是有序的,而且这种有序结构是自根节点向叶节点的整体

    Hash索引聚集到一个block是因为hash得到的值是一致的,通过增加一层间接索引,我们也能使得不同hash值的数据放到一个block里面,当一个block内聚集的数据太多的时候,我们可以有扩展块!

    关于伴随数据的问题:

      一般B树索引的数据在叶节点,只有这样,查询一个范围内的关键字这种操作才能得到优化

      hash索引,叶节点里面也可以是指针,因为反正优化不了范围查询。

      无论那种索引,对于查询具有特点关键字值的元素都有优化的效果。

    除开对于主键的索引外(也就是数据实际是按照那个组织的)

    只有两种情况有较有意义的优化效果:

     1关键字几乎是键值,这样导致我按照某个给定关键字查询的时候结果项本来就很少,不用读很多block

       2 实际的数据关于关键字聚集,这样我即使按照某个关键字查询的时候结果项很多,也不至于要读取太多的block(因为大家都在一块儿)

  • 相关阅读:
    编程语言学哪个比较好?
    C#一定要避免程序中很多的依靠
    EXPIREAT
    EXISTS
    DUMP
    Python之sys模块
    Python的OS模块
    CentOS 7上安装gitlab-runner
    PyCharm激活方法
    Linux03 文件的相关操作(touch、rm、mv、cat)
  • 原文地址:https://www.cnblogs.com/hustxujinkang/p/5016149.html
Copyright © 2011-2022 走看看