MySQL 经典面试题分析(值得收藏)

news2024/10/7 14:30:20

MySQL程序员面试必问题目点之一,因为 MySQL 几乎占据了数据库的半壁江山数据库的核心与原理基本是相通的,所以有了 MySQL 的基础之后,再去熟悉其他数据库也是非常快的,那么让我们一起来了解一下MySQL

MySQL 有很多存储引擎(也叫数据引擎),所谓的存储引擎是指用于存储、处理和保护数据的核心服务。也就是存储引擎是数据库的底层软件组织。在 MySQL 中可以使用“show engines”来查询数据库的所有存储引擎,如下图所示:

在上述列表中,我们最常用的存储引擎有以下 3 种:

MySQL 常用的引擎

InnoDB 引擎:mysql 5.1 后默认的数据库引擎,提供了对数据库 acid 事务的支持,并且还提供了行级锁和外键的约束,它的设计的目标就是处理大数据容量的数据库系统。MySQL 运行的时候,InnoDB 会在内存中建立缓冲池,用于缓冲数据和索引。但是该引擎是不支持全文搜索,同时启动也比较的慢,它是不会保存表的行数的,所以当进行 select count(*) from table 指令的时候,需要进行扫描全表。由于锁的粒度小,写操作是不会锁定全表的,所以在并发度较高的场景下使用会提升效率的。

MyIASM 引擎:不提供事务的支持,也不支持行级锁和外键。因此当执行插入和更新语句时,即执行写操作的时候需要锁定这个表,所以会导致效率会降低。不过和 InnoDB 不同的是,MyIASM 引擎是保存了表的行数,于是当进行 select count(*) from table 语句时,可以直接的读取已经保存的值而不需要进行扫描全表。所以,如果表的读操作远远多于写操作时,并且不需要事务的支持的,可以将 MyIASM 作为数据库引擎的首选。


MySQL 的执行流程是这样的,首先客户端先要发送用户信息去服务器端进行授权认证。如果使用的是命令行工具,通常需要输入如下信息:

mysql -h 主机名(IP) -u 用户名 -P 端口 -p

其中:

-h 表示要连接的数据库服务器的主机名或者 IP 信息;

-u 表示数据库的用户名称;

-P 表示数据库服务器的端口号,

小写的 -p 表示需要输入数据库的密码。

整个 SQL 的执行流程,如下图所示:

在知道MySQL 常用的引擎后,下次再碰到面试官问你这个问题时,你就不会不知该如何回答了!还不赶紧收藏点赞,以防找不到我~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/22898.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

铁矿行业BI经营分析框架(二)万能框架-增长性、盈利性、流动性

有关铁矿行业的一些基础业务知识,铁矿行业的竞争本质上就是规模和成本的竞争。从业务角度探、采、选、冶这四块最重要的就是选矿这个过程。因为国内铁矿品位比较低,大部分都是30%左右的贫矿,所以选矿的成本就比较高。 要优化现金成本&#xf…

为什么推荐 Java 开发人员都学习并使用 Kotlin?

我使用 Java 已经有很长的时间了,工作中的使用有15年。如果算上在学校的时间的话,那就更长了。Java 的一个很大的优势是平台的开放性。这得益于 Java 字节代码和虚拟机的存在。由于 Java 语言自身的发展速度比较慢,就催生了很多运行在 JVM 上…

西班牙知名导演:电影产业应与NFT及社区做结合

潜力博主推荐,点击上面关注博主 ↑ ↑ “OGtown”是华语cryptopunks社区授权的文章专栏 NFT项目走向全球社区。 通证一哥:2016年起专注区块链行业相关的研究。中国大陆第一本NFT畅销书作者。加密朋克中文社区的联合发起人。token punk社区发起人 88pu…

【Linux】---环境变量

文章目录环境变量环境变量测试和环境变量相关的命令echoenvexportunsetset环境变量的组织方式main函数的几个参数第三个参数环境变量的全局性环境变量 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,例如: 平常我们去执行一个程序一…

Multiscale Vision Transformers 论文详解

Abstract 我们提出了 Multiscale Vision Transformers(MViT)用于视频和图像识别。MViT 是多尺度特征层次结构和Transformer的结合。MViT 有几个通道分辨率尺度块(channel-resoluation scale stages)。从输入分辨率和小通道维度开始…

JavaScript学习——什么是编程语言?计算机基础

每篇博文的浪漫主义 【Study Vlog #21 | 计划被打断之后的报复性学习 | 喜欢秋天安静的学习时刻】 https://www.bilibili.com/video/BV1b84y1B79c/?share_sourcecopy_web&vd_source385ba0043075be7c24c4aeb4aaa73352 Study Vlog #21 | 计划被打断之后的报复性学习 | 喜欢…

Android程序设计之学校疫情防控管理

基于Android实现的学校疫情防控管理,项目采用SQLite来存储数据。 SQLite 简介 SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,…

测试工作的完整流程

需求评审:确保各部门需求理解一致。计划编写:根据重要核心程度来决定先测哪些功能后测哪些功能,测什么、谁来测、怎么测 a. 测什么:测哪些功能 b. 谁来测:具体的测试人员 c. 怎么测:具体测 功能、性能、兼容…

公众号免费搜题接口

公众号免费搜题接口 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(点击…

笔试强训(三十八)

目录一、选择题二、编程题2.1 蘑菇矩阵2.1.1 题目2.1.2 题解2.2 红与黑2.2.1 题目2.2.2 题解一、选择题 (1)下列关于URL的描述错误的是(A) A.http表名使用TCP协议 B.又名统一资源定位符,方便确定一个资源,…

邮件营销:怎么正确地收集邮件地址?

邮件营销提供了收件人和发件人双向沟通的平台,这对于企业来讲是一个很好的开发客户、和客户建立联系的方式。但是想要获得良好的营销效果,前提是我们需要拥有优质的联系人地址列表。怎么正确地收集邮件地址呢? 一般来讲,有三种邮…

2023年考PMP证书有什么意义?

每年都有一个关于 PMP 证书的意义的热门话题,PMP 证书必然是有意义的,不然怎么每年都有那么多人报考呢? 一、先给大家分析一下PMP 证书的使用场景 1、项目管理岗位招聘的门槛 PMP 是项目管理领域的一个权威公认证书,近几年受到的…

PROTAC——小分子化合物

PROTAC VS. 传统小分子 PROTAC 全称为 proteolysis-targeting chimeras (蛋白水解靶向嵌合分子),是一种杂合双功能小分子化合物,由三部分组成:靶蛋白配体、连接子 Linker、和 E3 连接酶配体,结构中两个配体之间通过 linker 相连&a…

Serverless 的前世今生

作者:阿里云用户组 从云计算到 Serverless 架构 大家好,我是阿里云 Serverless 产品经理刘宇,很高兴可以和大家一起探索 Serverless 架构的前世今生。 从云计算到云原生再到 Serverless 架构,技术飞速发展的轨迹都有一定规律可循…

Notch 信号通路的抑制剂、检测

近期,Cell 刊登了清华大学施一公课题组大作:Structural basis of γ-secretase inhibition and modulation by small molecule drugs,该文阐述了 γ-分泌酶结合三种小分子抑制剂 (GSI) 和一种调节剂 (GSM) 的冷冻电镜结构,并首次展…

Seata AT模式下的源码解析(一)

源码仓库:https://gitee.com/haijun1998/seata.git 分支source-read-1.5.0 1. GlobalTransactional GlobalTransactional 注解,提供给客户端来创建一个全局事务,GlobalTransactional 注解由 GlobalTransactionScanner 进行扫描,…

Java总结String类

String类专门用来表示字符串类型字符串构造的主要三种方法【学习一个类,先学习他的构造方法】 public class TestDemo1 {public static void main(String[] args) {String s1 "Hello";String s2 new String("Hello");char[] array {H,e,l,l…

[附源码]java毕业设计校园爱心支愿管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

[附源码]SSM计算机毕业设计高校奖学金评定管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

基于PHP+MySQL校园网站的设计与实现

校园生活是很多大学生没好的回忆,为了能过让更多的校园风采展示给人们,我们通过PHP和MYSQL开发了本校园网站的设计与实现,通过本网站可以更好的展示校园内风采和美好生活 本系统分为前台和后台2部分,前台部分主要是展示校园内的一些风采和新闻信息,后台部分主要是给管理员对网站…