首页 > 数据库 >实习面试准备——mysql篇1

实习面试准备——mysql篇1

时间:2024-10-21 22:42:57浏览次数:6  
标签:聚簇 索引 mysql 查询 回表 面试 sql 实习 节点

不得不说,博客园这个文章格式搞得真变扭,感觉不如word好用。这次就解释下面8个问题。1.慢查询、2.索引相关、3.聚簇索引与非聚簇索引、4。回表查询与覆盖索引。(格式无所谓了,就这样写吧)

1.慢查询:

在项目中,我们一般会对其中业务分析其运行时间。对于时间长的业务,分析是否是慢sql导致。定位慢查询的话,运维有Skywalkin工具。我们一般是通过sql中自带的慢sql文件。查到对于的sql,并用explain去分析这条sql语句。(慢查询sql的判定时间可以在conf配置文件中自定义)。判断其中的key,key_len字段是否命中索引、type字段是否为全索引扫描或全表扫描、extra字段是否有回表查询。

2.索引

本质是一种优化数据查询的数据结构。其提高了数据的检索效率、降低了数据库的IO交互,同时还对数据提供了排序,降低排序成本。

mysql默认存储引擎Innodb库采用的B+树作为索引的数据结构,B+树的节点可以有多个子节点,可以降低树的高度。同时B+树的非叶子节点不存储数据,只存储键值和指针。在叶子节点存储数据,其中数据用双向链表链接方便范围查找和扫描。

对于B树,节点存储了键值、数据、指针。并且数据间没有形成双向链表

关于使用索引:

1.数据量要大,因为索引要额外维护空间

2.对于长文本字段,可以进行前缀索引

3.对区分度明显的字段设置索引

4.经常排序、分组的字段

5.经常用复合索引,覆盖sql返回值

6.控制索引数量,索引会减低增删改的效率

 

3.聚簇索引与非聚簇索引

聚簇索引:默认的索引,是用主键创建的索引,B+树叶子节点返回的是当前行的所有数据 (唯一)

非聚簇索引(二级索引):自定义的索引,B+树叶子节点返回的是当前表的主键

 

4.回表查询与覆盖索引

非聚簇索引无法返回sql查询的所有返回值。于是得到主键后再经行一次聚簇索引,得到当前行的数据

覆盖索引便是非聚簇索引直接命中了sql的返回值,不需要回表

 

 

 

 

 

 

 

 

 

 

   

标签:聚簇,索引,mysql,查询,回表,面试,sql,实习,节点
From: https://www.cnblogs.com/kai0fang0/p/18491513

相关文章

  • MySQL—CRUD—进阶—(二) (ಥ_ಥ)
    文本目录:❄️一、新增: ❄️二、查询:       1、聚合查询:             1)、聚合函数:             2)、GROUPBY子句:             3)、HAVING子句:      2、联合查询:  ......
  • ELK04 ELK综合案例, logstash写入mysql, kibana访问验证 ubuntu使用
    6ELK综合实战案例6.1Filebeat收集Nginx日志利用Redis缓存发送至Elasticsearch 图上ip地址仅供参考6.1.2.2修改Filebeat配置#安装redis(访问0.0.0.0和密码123456),nginx(访问日志json格式)[root@ubuntu~]#vim/etc/filebeat/filebeat.ymlfilebeat.inputs:-......
  • #护网面试#红蓝攻防#安全# 木马文件的学习
    声明:本博文,只是基于学习进行记录。冰蝎源码<?php@error_reporting(0);session_start();$key="密钥";//该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond$_SESSION['k']=$key;$post=file_get_contents("php://input");if(!extension_loaded('......
  • 面试官:并发时,故意不加锁会怎么样?
    感谢Java面试教程关于并发锁的面试分享在并发编程中,如果不加锁,可能会导致以下问题:数据不一致:多个线程同时访问和修改共享资源时,如果没有加锁,可能会导致数据竞争,即一个线程在读取数据的同时,另一个线程修改了数据,从而导致最终的数据状态与预期不符。例如,在多线程环境下,多......
  • 基于Java+Jsp+Ssm+Mysql实现的在线乡村风景美食景点旅游平台功能设计与实现十五
    一、前言介绍:1.1项目摘要乡村风景美食旅游平台的课题背景主要基于我国旅游产业的现状与发展需求。当前,我国旅游产业虽然发展迅速,但仍然存在基础薄弱、管理手段滞后、信息化程度低等问题。旅游行政管理部门的管理方式相对落后,缺乏有效的信息化管理手段,信息沟通渠道不畅,这......
  • 基于Java+Jsp+Ssm+Mysql实现的在线乡村风景美食景点旅游平台功能设计与实现十六
    一、前言介绍:1.1项目摘要乡村风景美食旅游平台的课题背景主要基于我国旅游产业的现状与发展需求。当前,我国旅游产业虽然发展迅速,但仍然存在基础薄弱、管理手段滞后、信息化程度低等问题。旅游行政管理部门的管理方式相对落后,缺乏有效的信息化管理手段,信息沟通渠道不畅,这......
  • 宏任务-微任务-面试题
    面试题一/*promise12then1queueMicrotask1then3setTimeout1then2then4setTimeout2*/console.log("scriptstart")//主任务1setTimeout(function(){console.log("setTimeout1");//宏任务1newPromise(function(resolve){resolve();......
  • 面试题速刷 - 知识广度2
    有哪些前端攻击?如何预防?XSS跨站脚本攻击预防:尖括号替换,Vue中用插值{}不会发生XSS攻击。CSRF跨站请求伪造预防:服务端严格控制跨域,验证机制二次确认SameSite禁止第三方cookie点击劫持演示一下:预防:1.判断两个iframe域名是否一致2.让当前网页只在自己iframe的域名中......
  • CentOS7下安装Mysql8.4
    一、检查先检查下有没有安装过MySqlpsajx|grepmysql#检查是否有mysql的进程psajx|grepmariabd#检查是否有mariabd的进程如果有,先停掉systemctlstopmysqld#关闭进程再看是否有Mysql安装包rpm-qa|grepmysql如果有,批量化删除安装包rpm-qa|......
  • 房产销售系统/房产销售/销售系统/房地产软件/房源管理/销售策略/客户管理/楼盘信息/房
    博主介绍......