首页 > 社交 > 科普中国

面渣逆袭:MySQL六十六问,两万字+五十图详解!有点六

常驻编辑 科普中国 2022-06-22 字段   路由   详解   索引   事务   版本   操作   数据库   引擎   数据   日志
  • B+ 树支持联合索引的最左侧原则,Hash 索引不支持。
  • B+ 树支持 order by 排序,Hash 索引不支持。
  • Hash 索引在等值查询上比 B+ 树效率更高。
  • B+ 树使用 like 进行模糊查询的时候,like 后面(比如 % 开头)的话可以起到优化的作用,Hash 索引根本无法进行模糊查询。
  • 38.聚簇索引与非聚簇索引的区别?

    首先理解聚簇索引不是一种新的索引,而是而是一种数据存储方式。聚簇表示数据行和相邻的键值紧凑地存储在一起。我们熟悉的两种存储引擎——MyISAM采用的是非聚簇索引,InnoDB采用的是聚簇索引。70s拜客生活常识网

    可以这么说:70s拜客生活常识网

    • 索引的数据结构是树,聚簇索引的索引和数据存储在一棵树上,树的叶子节点就是数据,非聚簇索引索引和数据不在一棵树上。

    70s拜客生活常识网

    聚簇索引和非聚簇索引70s拜客生活常识网

    • 一个表中只能拥有一个聚簇索引,而非聚簇索引一个表可以存在多个。
    • 聚簇索引,索引中键值的逻辑顺序决定了表中相应行的物理顺序;索引,索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。
    • 聚簇索引:物理存储按照索引排序;非聚集索引:物理存储不按照索引排序;

    39.回表了解吗?

    在InnoDB存储引擎里,利用辅助索引查询,先通过辅助索引找到主键索引的键值,再通过主键值查出主键索引里面没有符合要求的数据,它比基于主键索引的查询多扫描了一棵索引树,这个过程就叫回表。70s拜客生活常识网

    例如:select * from user where name = ‘张三’;70s拜客生活常识网

    70s拜客生活常识网

    InnoDB回表70s拜客生活常识网

    40.覆盖索引了解吗?

    在辅助索引里面,不管是单列索引还是联合索引,如果 select 的数据列只用辅助索引中就能够取得,不用去查主键索引,这时候使用的索引就叫做覆盖索引,避免了回表。70s拜客生活常识网

    比如,select name from user where name = ‘张三’;70s拜客生活常识网

    70s拜客生活常识网

    覆盖索引70s拜客生活常识网

    41.什么是最左前缀原则/最左匹配原则?

    注意:最左前缀原则、最左匹配原则、最左前缀匹配原则这三个都是一个概念。70s拜客生活常识网

    最左匹配原则:在InnoDB的联合索引中,查询的时候只有匹配了前一个/左边的值之后,才能匹配下一个。70s拜客生活常识网

    根据最左匹配原则,我们创建了一个组合索引,如 (a1,a2,a3),相当于创建了(a1)、(a1,a2)和 (a1,a2,a3) 三个索引。

    相关阅读:

  • 字段类型有哪些(字段长度怎么设置)
  • 技术人必备的接口测试神器:apifox、apipost、yapi,实用
  • 我做开发测试犯的错
  • 基于SpringBoot微服务开发中的异常处理最佳实践
  • MySQL专题1:
  • 你今天玩游戏了吗?游戏道具了解下
  • 什么是CSRF
  • 最全SQL
  • 云原生(十四)
  • MySQL索引原理篇:深入数据库底层揭开索引机制的神秘面
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。