首页 > 数据库 >mysql索引概念补充

mysql索引概念补充

时间:2023-10-17 09:56:28浏览次数:38  
标签:name 补充 age 查出 回表 索引 mysql 主键

Mysql索引概念补充

聚簇索引,一级索引其实就是主键索引

非聚簇索引,二级索引,辅助索引其实就是普通的单值索引,唯一索引,联合索引

聚簇索引是Innodb下的一个概念,是一种数据结构,根节点存储主键和索引指针,叶子节点存数据。而非聚簇索引叶子节点存的是(索引列,主键)。

回表:就是在innodb存储引擎下,二级索引查出的索引列,如果需要查出所有列数据,那就需要去主键索引中取出数据(因为二级索引能查到主键,主键索引又存储了所有列数据)。

索引下推:就是针对联合索(name,age)引当查询条件的时候,原来是先走name的索引,查出对应的主键进行回表,然后根据age索引查出主键进行回表;现在用上索引下推,就是直接根据nage和age进行完匹配后查住主键,进行一次回表就可以了。

索引覆盖:就是索引列包含了你索要查的数据列。比如你只需要name,age俩字段列,你用到的索引也包含了这俩字段,就说明索引覆盖了,就不用回表了。

标签:name,补充,age,查出,回表,索引,mysql,主键
From: https://www.cnblogs.com/lfh-blog/p/17769001.html

相关文章

  • 记一次MySQL5初始化被kill的问题排查
    写在前面由于测试环境JED申请比较繁琐,所以Eone提供了单机版Mysql供用户使用,近期Eone搭建Mysql5的时候发现莫名被kill了,容器规格是4C8G,磁盘30G这不科学,之前都是可以的,镜像没变,配置没变,咋就不行了呢,一定不是我的问题,是机器的问题问题排查重现通过多次搭建mysql5进行采样,发现并......
  • elasticsearch通过Java class类的@Setting和@Mapping来定义索引index
    今天就来和大家讲讲如何将es索引中的mapping和setting在索引index和class联系起来,其实在这个问题也困扰我好久了,一直没有解决,在elasticsearch7.x版本的时候貌似好像可以用request在程序中来建立索引,像Stringindex=“{“mapping”:...}”之类的操作,干起来比较复杂,在elasticsearch......
  • 【1.0】Js逆向补充之Js混淆
    【一】什么是Js混淆JavaScript混淆是一种将JavaScript代码进行某种处理的方式,目的是使代码难以被阅读和理解。whydothat?JavaScript大都是运行在浏览器端,这就导致任何人都可以直接对网站的代码进行查看如果代码没有进行任何处理就会导致直接暴露源码,他人便可轻而易......
  • 【2.0】Js逆向补充之Ob混淆
    【一】什么是Ob混淆OB混淆是指将JavaScript代码中的变量名、函数名、字符串等替换为无意义的字符串,从而增加代码的保护性和防止代码的逆向分析。此外,它还可以在代码中添加死代码、无用的函数等,增加代码的复杂度和难以理解性,从而增加代码的保密性。官网:https://obfuscato......
  • MySQL中的事务与锁
    PS:学习是一个不断进步和成长的过程。在软件开发领域,新技术和概念层出不穷,有时候我们可能会错过或忽视一些重要的知识点。重要的是,你现在已经注意到了锁和Java程序中与MySQL锁有关的内容,并且有意识地想要学习和了解更多。这说明你具备了自我反省和学习的态度,这是非常重要的。不断......
  • Macbook 安装Mysql 8.0 的步骤
    brewmysqlinstallMysql文件路径/opt/homebrew/Cellar/mysql/8.1.0/查看相应的权限ls-laF/opt/homebrew/Cellar/mysql/给文件夹赋予相应的权限sudochown-Rsean/opt/homebrew/Cellar/mysql/cnf文件地址 /opt/homebrew/etc/my.cnf文件内容#DefaultHomebrewMySQLserve......
  • MySQL字段的时间类型该如何选择?千万数据下性能提升10%~30%
    MySQL字段的时间类型该如何选择?千万数据下性能提升10%~30%......
  • pymysql模块
    pymysql模块是python3中用于操作mysql数据库的一个库,不是自带模块,需要运行pipinstallpymysql进行安装。数据库的操作无非连接、查询、增、删、改:示例:1importpymysql23#打开数据库连接4conn=pymysql.connect(5host="localhost",6user="sq_test......
  • linux安装myql-server及libmysqlclient
    1.去官网下载对应的仓库源https://dev.mysql.com/downloads/下面以centos8为例#仓库下载直链为https://dev.mysql.get/{具体的仓库名}wgethttps://dev.mysql.com/get/mysql80-community-release-el8-8.noarch.rpmyuminstall./mysql80-community-release-el8-8.noarch.r......
  • mysql 包含的数据库操作的类型
    DQL 一级操作最常用的操作 查询表中数据DML二级操作  对表做增删改查 insetupdatedeleteDDL三级操作 对表的结构做增删改查 creat dropalterTCL四级操作 对数据库事务做修改 commit  rollbackDCL五级操作 数据控制语言grantrevoke......