• 【mysql学习笔记22】索引


    优缺点

    优势劣势
    提高数据检索效率,降低数据库的io成本索引列需要占用空间
    通过对索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗索引大大提高了查询效率,同时也降低了更新表的效率,因为更新表的同时也需要更新索引

    索引结构

    索引结构描述
    B+Tree索引(默认)最常见的索引类型,大部分引擎都支持
    Hash索引底层原理是哈希表,不支持范围查询,只能够精确匹配
    R-Tree常用于地理空间数据类型
    Full-text(全文索引)是一种通过建立倒排索引,快速匹配文档的方式

    各引擎对索引的支持

    在这里插入图片描述

    索引分类

    分类含义特点关键字
    主键索引针对于表中主键创建的索引默认自动创建,只能有一个PRIMARY
    唯一索引避免一个列有重复值可以有多个UNIQUE,可以在建表的时候就指定,也可以后期手动添加
    常规索引快速定位数据可以有多个无,需手动创建
    全文索引快速进行文本检索可以有多个FULLTEXT

    拓展:列值唯一就是依靠唯一索引实现的。

    分类含义特点
    聚集索引将数据存储与所以放到一块,索引结构的叶子节点保存了行数据必须有,且只有一个,创建表时会自动将主键作为聚集索引,如果没有主键,使用第一个唯一索引作为聚集索引,如果都没有,InnoDB会自动一个隐藏的rowid作为聚集索引
    二级索引将数据与索引分开存储,索引结构的叶子节点存的是对应的主键可以存在多个

    实例

    在这里插入图片描述
    比如执行select * from user where name =‘Arm’;
    那么就会先去name索引里面检索Arm,查询到Arm里面对应的id是10,那么就会拿着这个10去聚集索引里面查找具体数据,然后返回。这个过程叫做“回表查询”。

    创建索引

    create [unique|fulltext] index index_name on table_name (index_col_name1,…);

    查看索引

    show index from table_name;

    删除索引

    drop index index_name on table_name;

  • 相关阅读:
    GB28181平台简介
    代码复杂度分析
    JAVA计算机毕业设计兴澜幼儿园管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
    【canvas】前端创造的图片粒子动画效果:HTML5 Canvas 技术详解
    Spring Boot Actuator - Spring Boot 应用监控
    【算法优选】 二分查找专题——贰
    工业树莓派结合USB摄像头实现远程网络监控
    Qt | 远程仓库
    SQL优化记录
    DevOps|我们需要什么样的产研项目管理工具
  • 原文地址:https://blog.csdn.net/qq_31618549/article/details/125417837