• 数据库索引


    索引是什么?

    索引是帮助MySQL高效获取数据的数据结构。

    索引能干什么?

    提高数据查询的效率。

    索引:排好序的快速查找数据结构!索引会影响where后面的查找,和order by 后面的排序。(查找和排序条件会不会使用到索引的问题)

    索引的分类

    1、从存储结构上来划分:BTree索引(B-Tree或B+Tree索引),Hash索引,full-index全文索引,R-Tree索引。

    2、从应用层次来分:普通索引,唯一索引,复合索引

    3、根据中数据的物理顺序与键值的逻辑(索引)顺序关系:聚集索引,非聚集索引。

    普通索引:即一个索引只包含单个列,一个表可以有多个单列索引

    唯一索引:索引列的值必须唯一,但允许有空值

    复合索引:即一个索引包含多个列

     

    Hash索引

    基于哈希表实现,只有精确匹配索引所有列的查询才有效,对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),并且Hash索引将所有的哈希码存储在索引中,同时在索引表中保存指向每个数据行的指针

    B-Tree索引(MySQL使用B+Tree)

    B-Tree能加快数据的访问速度,因为存储引擎不再需要进行全表扫描来获取数据,数据分布在各个节点之中

    B+Tree索引

    是B-Tree的改进版本,同时也是数据库索引索引所采用的存储结构。

    数据都在叶子节点上,并且增加了顺序访问指针,每个叶子节点都指向相邻的叶子节点的地址。

    相比B-Tree来说,进行范围查找时只需要查找两个节点,进行遍历即可。而B-Tree需要获取所有节点,相比之下B+Tree效率更高

     来自   https://www.cnblogs.com/liqiangchn/p/9060521.html

     

    索引介绍以及索引原理

    https://blog.csdn.net/weixin_42181824/article/details/82261988

  • 相关阅读:
    Spark2 Dataset DataFrame空值null,NaN判断和处理
    Spark2 文件处理和jar包执行
    &与&&, |与||区别
    Scala实现乘法口诀
    Hive desc
    Hive FUNCTIONS函数
    Hive show
    MySQL行列转换拼接
    MySQL字符串连接
    SQLServer之索引简介
  • 原文地址:https://www.cnblogs.com/yjh1995/p/12577810.html
Copyright © 2020-2023  润新知