• Mysql一些基本概念


    1、索引的本质是:索引是帮助MySQL高效获取数据的排好序数据结构   

     (1) 索引的数据结构有:

       

    2、MySQL的底层是B+树,B+树能进行水平扩展,高度仅仅为3就能存储几千万的数据。

    3、数据库表中的每张表对应的MySQL本地data文件夹下都有几个文件(前缀相同)

    4、聚集(束)索引:叶节点包含了完整的数据记录 。简单讲就是:索引和数据放在一起 

    5、MylSAM索引文件和数据文件是分离的(非聚集),非聚集索引=稀疏索引

          InnoDB索引文件和数据文件不是分离的(聚集)

    6、聚集索引比非聚集索引查询速度快

    7、主键用的uuid什么意思?

      整型所占的内存比uuid小,查询的速度比uuid快,因为比较整型比比较字符串更加快, 而且比uuid节约更多的成本。MySQL一般占用的是高速缓存,比较贵。

    8、Hash算法在等值查找的时候效率很高,如:where id=10,但是对于范围查找的效率远不如 B+树,如where id>10.因为hash地址是无序的,而B+树的叶子节点是有序排列的。

    9、B树与B+ 树的区别:

      (1) B树没有冗余索引,而B+树的非叶子节点都是冗余索引

      (2) B树的叶子节点之间是相互独立的,没有联系;而B+树的叶子节点之间是个有序的双向链表,每个叶子节点和前后节点都有关联。

      (3) B+树把B树的data数据全部移动到叶子节点,非叶子节点是没有数据的。

      (4) 高度相同的情况下,B+树能存储的数据远远超过B

    10、联合索引:

      (1) 多个索引字段如何比较大小:如:(name”“age“”position”)

        ① 他会按照顺序比较,先比较name,如果name比较好了,就不用看下面的字段了,如果相等继续比较下面的age字段。

        ② 联合索引的第一个字段再整张表的范围看是从左到右有序的,但是第二、三个字段不一定有序。

         

    一个小小后端的爬行痕迹
  • 相关阅读:
    洛谷—— P1187 3D模型
    商铺项目(Redis缓存)
    商铺项目(使用DES加密配置信息)
    Linux下tomcat启动项目原因排查
    商铺项目(商品详情页开发)
    商铺项目(店铺详情页开发)
    商铺项目(店铺列表开发)
    商铺项目(首页前端开发)
    商铺项目(首页后台开发)
    商铺项目(商品类别模块二)
  • 原文地址:https://www.cnblogs.com/heikedeblack/p/14298227.html
Copyright © 2020-2023  润新知