zoukankan      html  css  js  c++  java
  • mysql底层索引与数据结构算法学习

    索引  数据结构

      二叉树  从根节点查找数据,左边的数据小于根节点的数据,右边的数据大于根节点的数据

      红黑树  平衡二叉树

      Hash表

      B-Three 叶子节点具有相同的深度,叶节点指针为空,所有索引元素不重复,节点中的所有数据索引从左到右一次递增

      B+Three 叶子节点不存data,只存索引,可以放更多索引,叶子节点包含所有索引字段,叶子节点使用指针连接,提高区间访问性能

    一个叶子节点的大小是16kb

      大部分时间在加载数据到内存,在内存中二分查找数据很快(数据结构主要是减少磁盘io)

      

    搜索引擎   MyISAM

      InnoDB 聚集索引 叶子节点包含完整的数据记录(数据跟索引不在同一个表中)

    innoDB建表为什么建议添加主键?整型自增

      用于维护b+tree   (不见索引会挑选一列不同的来维护,否则就会增加一个隐形的类维护索引)   整型便于比较大小(uuid比较大小麻烦)

      自增主键   

      hash不支持范围查找,存在hash冲突,效率比b的索引相对快一点

      复合索引的工作原理?

      索引是排好序的数据结构

      最左前缀原理(排好序的)

      

    加油,每天都是精彩的一天
  • 相关阅读:
    ServletDemo
    day12
    [转载]推荐不伤眼睛的文字背景色 VS背景色
    day11
    63.队列:1.    寻找经过结点最少的路径
    62.COUNT(递归算法)--数的划分变式题型
    62.COUNT(递归算法)--数的划分变式题型
    62.COUNT(递归算法)--数的划分变式题型
    60.(递推练习)黑白棋子
    60.(递推练习)黑白棋子
  • 原文地址:https://www.cnblogs.com/xining/p/14546379.html
Copyright © 2011-2022 走看看