索引

作者: 魔芋辣椒 | 来源:发表于2020-08-17 15:45 被阅读0次

    一、索引优缺点

    索引是一个排好序的查找数据结构

    • 优点
      加快查找,降低io
      降低排序成本,降低cpu功耗
    • 缺点
      占空间
      降低了更新速度

    二、索引的分类

    2.1单值索引

    create index indexname on tablename(columnname(length));
    
    drop index [indexname] on tablename;
    
    show index from tablename
    

    2.2唯一索引

    列值必须唯一,可以包含空值

    create unique index indexname on tablename(columnname(length));
    

    2.3复合索引

    create index indexname on tablename(columnname(length),columnname(length),columnname(length));
    

    三、索引结构

    3.1 bTree

    B树相对于B+树的优点是,如果经常访问的数据离根节点很近,而B树的非叶子节点本身存有关键字其数据的地址,所以这种数据检索的时候会要比B+树快。


    image.png

    3.2 b+Tree

    B+跟B树不同B+树的非叶子节点不保存关键字记录的指针,只进行数据索引,这样使得B+树每个非叶子节点所能保存的关键字大大增加;

    B+树叶子节点的关键字从小到大有序排列,左边结尾数据都会保存右边节点开始数据的指针。


    image.png

    四、创建索引的条件

    • 主键自动创建唯一索引

    • 频繁查找的数据需要建

    • 外键适合建立索引

    • 建立时要注意排序内容和分组内容

    五、索引的优化原则

    • 减少查询嵌套,用小表驱动大表
    • 优化时先优化内层循环
    • 保证join中,被驱动表join字段已建立索引

    相关文章

      网友评论

          本文标题:索引

          本文链接:https://www.haomeiwen.com/subject/dtnfjktx.html