【强烈建议收藏:MySQL面试必问系列之SQL语句执行专题】

31道Hive大厂高频面试题,学会了进大厂不是梦,建议收藏! 文章目录1. 介绍一下什么是Hive2. Hive的架构原理3. Hive的HSQL转换为MapReduce的过程?4. Hive和RDBMS有什么异同/hive和传统数据库之间的区别5. HiveSQL语句不会转化为MapReduce作业的情况6. 请简单介绍一下Hive的本地模式7. 你使用过哪些 Hive 函数8. 列转行和行转列函数有哪些9. 介绍一下Hive中的窗口函数10. Hive内部表、外部表、分区表、分桶表的区别,以及各自的使用场景11. Order By,Sort By,Distrbu 阅读详情

在这里插入图片描述

一.知识回顾

之前的文章我们一起学习了MySQL面试必问系列之事务专题、锁专题,没有学习的小伙伴可以直接通过该链接地址直接访问,MYSQL你真的了解吗专栏的文章,接下来我们就一起来学习一下MySQL中SQL语句的执行流程,看看你掌握的怎么样呢?

二.面试官:我问个简单的吧,你知道一条查询SQL语句执行的流程吗?

此时卑微的你,刚听到这个问题肯定就在想,这个简单吗?

在这里插入图片描述
其实这个问题就看你面试的岗位以及公司的层次了,如果是一些中大型公司互联网公司的话,那么还可以接受,但是如果是一些小一些的公司的话,我只能觉得现在的面试真的越来越畸形了,其实呢?这个问题考察的点就是看你是否认真学习过MySQL底层的一些知识,是否认真的积累过。就像有的人说,面试造火箭,工作拧螺丝,其实不假,但是现在拧螺丝都需要段位了,所以说大家还是静下心来一点一点的积累吧,肯定都能找到理想的公司的。
废话不多说,我们直接开整。

2.1 SQL语句执行流程图

首先我们先来看一下整个SQL语句执行的流程图,先对整体有一个大致的了解,具体细节我们后面再做展示。如下图所示:
在这里插入图片描述

2.2 查询缓存(Query Cache)

  1. MySQL 内部自带了一个缓存模块。MySQL查询缓存保存查询返回的完整结构。当查询命中该缓存时,MySQL会立刻返回结果,跳过了解析、优化和执行阶段。
  2. 查询缓存系统会跟踪查询中涉及的每个表,如果这些表发生了变化,那么和这个表相关的所有缓存数据都将失效。
  3. 如果查询语句中包含任何的不确定的函数,那么其查询结果不会被缓存,因为查询缓存中也无法找到对应的缓存结果。
  4. MySQL将缓存存放在一个引用表中,通过一个哈希值引用,这个哈希值包括了以下因素,即查询本身、当前要查询的数据库、客户端协议的版本等一些其他可能影响返回结果的信息。
  5. MySQL 的缓存模块默认是关闭的。主要是因为 MySQL 自带的缓存的应用场景有限,第一个是它要求 SQL 语句必须一模一样。第二个是表里面任何一条数据发生变化的时候,这张表所有缓存都会失效。
  6. 在 MySQL 5.8 中,查询缓存已经被移除了。

2.3 解析器(Parser)

假如随便执行一个字符串 hjghkjhkj,服务器报了一个 1064 的错:

[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘hjghkjhkj’ at line 1

服务器是怎么知道我输入的内容是错误的?这一步主要做的事情是对 SQL 语句进行词法和语法分析和语义的解析。

2.3.1 词法解析

首先第一个步骤就是词法分析,就是把一个完整的 SQL 语句打碎成一个个的单词。

比如一个简单的 SQL 语句:

select age from user where id = 1;

郑愕SQL语句会被解析为8 个符号,记录每个符号是什么类型,开始位置以及结束位置都会被记录。

2.3.2 语法解析

然后第二步就是语法分析,语法分析会对 SQL 做一些语法检查,比如单引号有没有闭合,然后根据 MySQL定义的语法规则,根据 SQL 语句生成一个数据结构。这个数据结构我们把它叫做解析树。

2.3 预处理器(Preprocessor)

如果表名错误,会在预处理器处理时报错。这个就是 MySQL Preprocessor 预处理模块。
它会检查生成的解析树,解决解析器无法解析的语义。比如,它会检查表和列名是否存在,检查名字和别名,保证没有歧义。

2.4 查询优化(Query Optimizer)与查询执行计划

2.4.1 什么优化器?查询优化器的目的?

你是否想过这样的问题:

  1. 你编写的SQL语句MySQL底层一定执行呢?会不会进行一个优化呢?一条SQL语句只会有一种执行的方式吗?
  2. 因为一条 SQL 语句是可以有很多种执行方式的。但是如果有这么多种执行方式,这些执行方式怎么得到的?最终选择哪一种去执行?根据什么判断标准去选择?

解决上述问题我们就可以引出来解决这个问题的方案措施:MySQL 的查询优化器的模块(Optimizer)。

查询优化器的目的就是根据解析树生成不同的执行计划,然后选择一种最优的执行计划,MySQL 里面使用的是基于开销的优化器,那种执行计划开销最小,就用哪种。

2.4.2 查询开销的命令

使用如下命令查看查询的开销:

show status like 'Last_query_cost'; 
--代表需要随机读取几个 4K 的数据页才能完成查找。 
2.4.3 优化器是怎么得到执行计划的?

如果我们想知道优化器是怎么工作的,它生成了几种执行计划,每种执行计划的 cost 是多少,应该怎么做?

首先我们要启用优化器的追踪(默认是关闭的):
注意开启这开关是会消耗性能的,因为它要把优化分析的结果写到表里面,所以不要轻易开启,或者查看完之后关闭它(改成 off)。

SHOW VARIABLES LIKE 'optimizer_trace'; 
set optimizer_trace="enabled=on"; 

接着我们执行一个 SQL 语句,优化器会生成执行计划:

select t.tcid from teacher t,teacher_contact tc where t.tcid = tc.tcid; 

这个时候优化器分析的过程已经记录到系统表里面了,我们可以查询:

select * from information_schema.optimizer_trace\G 

expanded_query 是优化后的 SQL 语句。

considered_execution_plans 里面列出了所有的执行计划。 

记得关掉它:

set optimizer_trace="enabled=off"; 
SHOW VARIABLES LIKE 'optimizer_trace'; 
2.4.4 优化器得到的结果
  1. 优化器最终会把解析树变成一个查询执行计划,查询执行计划是一个数据结构。

  2. 执行计划是不是一定是最优的执行计划呢?不一定,因为 MySQL 也有可能覆盖不到所有的执行计划。

  3. MySQL 提供了一个执行计划的工具。我们在 SQL 语句前面加上 EXPLAIN,就可以看到执行计划的信息。

EXPLAIN select name from user where id=1; 

三.面试官:嗯,不错,不错,刚你说了查询语句,那你知道一条增删改SQL语句执行的流程吗?

想必此时的你一定已经奔溃了,这循环连问让我好难受呀。
在这里插入图片描述
但是看了硕风和炜的文章后, 必须给面试官答上来。
在这里插入图片描述

3.1 一条更新SQL语句执行流程

  1. 首先,你应该把上面SQL语句查找的流程先说一遍,基本流程是一样的,也就是说,同样需要经过缓存,解析器,优化器的处理,最后交给执行器,选择最合适的优化计划,因为更新语句也只是做了一部分调整,并不是一个完全新的知识体系。
  2. 那问题来了,区别在哪里呢?其实真正的区别就在拿到符合条件之后的操作。
  3. 首先,在innoDB里面有个内存的缓冲池,我们也叫它Buffer pool,我们对数据的更新操作,不会每次都直接写到硬盘上,因为IO的代价太大了,所以先写入到buffer pool里面。内存的数据页和磁盘数据不一样的时候,我们把它就做脏页。
  4. InnoDB里面专门又把buffer pool中的数据写入到磁盘的线程,每隔一段时间就会一次性的把多个修改写入磁盘,这个过程就叫做脏刷。
    在这里插入图片描述

3.2 存在的问题&持久化机制

3.2.1 存在的问题

这里也会存在一个问题就是,如果在脏页还没有写入到磁盘的时候,服务器此时出现了问题,那么内存中的数据就会存在丢失的问题。或者是刷脏刷到一半的时候,甚至破坏数据文件,所以我们必须做一个持久化的机制。

3.2.2 持久化机制

InnoDB引入了一个日志文件,我们叫做redo log重做日志,我们把所有对内容数据的修改操作写入日志文件,如果服务器出现了问题,我们就从这个额日志文件里面文件读取数据,恢复数据,用它来实现事务的持久化。

3.2.3 redo log有什么特点呢?
  1. 记录修改后的值,属于物理日志
  2. redo log 大小固定,前面内容会被覆盖,所以并不能用于数据的回滚,以及数据的恢复
  3. redo log是innodb引擎特有的,并不是所有的引擎都具备
3.2.4 Buffer Pool的内存淘汰策略
  1. 冷热分区的LRU策略
    LRU链表会被拆分成为两部分,一部分为热数据,一部分为冷数据。冷数据占比 3/8,热数据5/8。
    具体分配如下图所示:
    image.png

  2. 数据页第一次加载进来,放在LRU链表的什么地方?

放在冷数据区域的头部

  1. 冷数据区域的缓存页什么时候放入热数据区域?
    MySQL设定了一个规则,在 innodb_old_blocks_time 参数中,默认值为1000,也就是1000毫秒。
    意味着,只有把数据页加载进缓存里,在经过1s之后再次对此缓存页进行访问才会将缓存页放到LRU链表热数据区域的头部。

4.为什么是1秒?
因为通过预读机制和全表扫描加载进来的数据页通常是1秒内就加载了很多,然后对他们访问一下,这些都是1秒内完成,他们会存放在冷数据区域等待刷盘清空,基本上不太会有机会放入到热数据区域,除非在1秒后还有人访问,说明后续可能还会有人访问,才会放入热数据区域的头部。

  1. 什么是预读机制呢?
    磁盘读写,并不是按需读取,而是按页读取,一次至少读一页数据(一般是4K)但是Mysql的数据页是16K,如果未来要读取的数据就在页中,就能够省去后续的磁盘IO,提高效率。

四.总结

饭要一口一口吃,知识也要一点一点积累,一起加油吧。
我是硕风和炜,我们下篇文章见哦。

几何修复_ANSYS流体分析:几何前处理 建模及几何处理工具非常多,选择起来让人眼花缭乱。对于仿真而言,高效的对几何进行清理及生成符合仿真要求的几何至关重要。ANSYS SpaceClaim Direct Modeler是基于直接建模思想的新一代3D高效率建模和几何编辑修补软件。SCDM提供了当今最快速、最富有创意的直接建模解决方案。由于它的直接建模能力即使对于导入的其它3D模型(如catia、proe、solid works创建的几何)... 阅读详情

相关推荐

STM32 FATFS文件系统按行读取SD卡数据

STM32 SD数据实现按行读取

qq_32216815的博客 7825

Mysql数据库面试题大全(常用SQL语句)

Mysql数据库面试题大全

清微的博客 7213

AI 辅助代码审查:开启代码质量管控的智能时代

AI辅助代码审查正在改变传统的代码质量管控方式。通过自动化分析、智能反馈和上下文感知,AI不仅提高了代码审查的效率,还提升了代码质量的一致性和可维护性。随着机器学习和深度学习技术的不断发展,未来AI将成为开发者日常工作中强大的助手,进一步推动软件开发向智能化、自动化方向发展。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3228

5道Mysql面试题

为了就是减少sql执行期间的数据库io操作,并且更新磁盘往往是在Mysql比较闲的时候,这样就大大减轻了Mysql的压力。

weixin_56310628的博客 530

RT-Thread实战:手把手教你用STM32F04ZGT6通过SPI驱动BMI088(附完整工程)

本文详细介绍了如何使用RT-Thread操作系统在STM32F04ZGT6上通过SPI接口驱动BMI088高性能6轴惯性传感器(包含陀螺仪和加速度计)。从硬件连接到软件配置,再到数据采集与处理,提供了完整的开发指南和优化技巧,帮助开发者快速实现精确的姿态测量功能。

kappa的博客 236

android+音乐节拍检测,科学网—音乐节拍跟踪或音乐节拍检测软件,LilyBeats alpha - 石自强的博文...

我们设计并实现了一种用于实时跟踪音乐节拍的软件。该软件可以用于智能灯方案提供商,为其提供灯光随音乐变化的核心解决方案。首先给出软件的下载链接:或者音乐节拍是乐曲中表示固定单位时值和强弱规律的组织形式,亦称拍子。它有两个特性:周期性和连续性。节拍周期性表现为节拍结构,是乐曲中周期性出现的节奏序列。节拍连续性表现为音乐的平均速度,其单位为bpm(beat per minute每分钟音乐节拍的个数)。音...

weixin_39571403的博客 1401

MySQL面试题

mysql一个select语句的执行过程、mysql存储引擎、mysql索引类型、mysql为什么使用B+树

zhangzhang_one的博客 357

用MCP扩展Cursor的5种神奇用法:从文件操作到网页抓取实战

本文深入探讨了如何利用MCP(Model Context Protocol)扩展Cursor AI编程助手,解锁五种高效实用场景。从文件系统操作、网页内容抓取,到数据库查询、Figma设计稿对接,乃至构建自定义MCP服务器,文章通过实战案例展示了如何将Cursor从代码编辑器升级为能理解并操作工作环境的智能助手,显著提升开发效率与自动化水平。

weixin_29231027的博客 315

数据库Mysql经典面试题之SQL语句

select * , case when right(convert(varchar(10),getdate(),120),5) < right(convert(varchar(10),sage,120),5) then datediff(yy , sage , getdate()) - 1 else datediff(yy , sage , getdate()) end 年龄 from student。

qq_39115649的博客 2308

光学设计必知:Ansys Zemax中6种系统孔径类型的适用场景全解析

本文深入解析Ansys Zemax中6种系统孔径类型的适用场景,包括入瞳直径、像方空间F/#、物方空间NA等,帮助光学设计师精准控制光线选择和成像质量。通过实际案例和代码示例,详细讲解各孔径类型的计算原理、参数设置及在显微系统、激光扩束等场景中的优化策略,提升复杂光学系统设计效率。

weixin_29266007的博客 551

华为OD机试真题 新系统 2026-04-22 C++ 实现【小学生班长选举增强版】

9 月份开学第一天,小学某班级进行班长选举活动,班级共有 N 个学生,每个学生最多可投 3 票(对同一个人只能投一票),也可以弃权不投票,大家投票时写上对应学生的名字。 假设学生不存在重名。考虑到部分少数民族名字带分隔,且整体较长,同学在投票时为了方便,允许同学写全称,也可以只写其中的部分连续段。 例如班级里只有 2 个少数民族名称带点的同学:

MISAYAONE的博客 167

mysql SQL语句面试题1-5道及详细解析

1. **数据定义语言(DDL)**:用于定义和修改数据库结构的SQL语句,如`CREATE`、`ALTER`、`DROP`等。在这些语句中,`table_name`是要操作的表名,`column1, column2, ...`是表中的列名,`value1, value2, ...`是对应列的新值,`condition`是删除或更新行时需要满足的条件。2. **数据操纵语言(DML)**:用于插入、更新、删除数据库中数据的SQL语句,如`INSERT`、`UPDATE`、`DELETE`等。

weixin_43658371的博客 603

【2025软考高级架构师】论文篇——4、论可靠性系统中软件容错技术的应用

软件容错技术对软件的稳定性起着至关重要的作用,尤其是针对互联网性质的软件并发高存在流量峰值等问题,软件容错技术的应用的重要性就不言而喻了。经过这次我所采用的软件容错技术的方法和措施的实施效果后,使我也看到了自己身上的不足之处,我会在今后的架构设计过程中,不断更新自己的知识,不断完善自己的架构设计领域,设计出更好的软件架构,更好的支撑业务平台的运行,提高公司的竞争力,为公司为社会尽一份绵薄之力。

qq837993702的博客 618

【强烈建议收藏:MySQL面试必问系列之慢SQL优化专题】

【强烈建议收藏:MySQL面试必问系列之慢SQL优化专题】需要根据数据库当前的状态、数据库中与该条SQL的关系、当前SQL的具体功能 、最好的情况消耗的资源,最差情况下消耗的资源,优化的结果只有一个给用户一个好的体验。排序操作用的比较多,order by 后面的字段如果在索引中,索引本来就是排好序的,所以速度很快,没有索引的话,就需要从表中拿数据,在内存中进行排序,如果内存空间不够还会发生落盘操作。3.更新非常频繁的字段不适合创建索引.(因为索引中的字段被更新的时候,不仅仅需要更新表中的数据,

Coder_ljw的博客 1277

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【强烈建议收藏:MySQL面试必问系列之索引专题】

【强烈建议收藏:MySQL面试必问系列之索引专题】在InnoDB存储引擎中,可以将B+树索引分为聚簇索引和辅助索引。无论是何种索引,每个页的大小都为16KB,且不能更改。聚簇索引是根据主键创建的一棵B+树,聚簇索引的叶子节点存放了表中的所有记录。辅助索引是根据索引键创建的一棵B+树,与聚簇索引不同的是,其叶子节点仅存放索引键值,以及该索引键值指向的主键。如果通过辅助索引来查找数据,那么当找到辅助索引的叶子节点后,很有可能还需要根据主键值查找聚簇索引来得到数据,这种查找方式又被称为书签查找,又叫回表。

Coder_ljw的博客 1266

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

一条 SQL 语句是如何执行的?

一条 SQL 语句是如何执行的? 首发于 GitHub 开源项目: Java超神之路 整理好的 Java 技术栈全套学习资料,欢迎 star! ​ 你好,我是杜少雄。 ​ 今天和大家聊一聊 MySQL 的基础架构。我们经常说,看一个事千万不要直接陷入细节里。应该先鸟瞰全貌。这样能够帮助你从高维度理解问题。当一条 SQL 语句执行的时候,我们看到的是最后的执行结果。却不知道这条语句在 MySQL 内部是如何执行的。 总览 ​ 所以今天我们把 MySQL 拆解一下,看看里边有哪些零件。下边

m0_70565884的博客 536

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

01讲基础架构:一条SQL查询语句是如何执行的

撸了今年阿里、头条和美团的面试,我有一个重要发现.......>>> ...

在路上2017的专栏 264

你知道一条 SQL 语句是咋执行的吗?_python执行的sql为啥是上次执行的

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

m0_58269070的博客 846

不会MySQL调优?来来瞅瞅SQL的执行计划吧

写在开头   本文属于 MySQL底层执行流程分析 的一个中间过程。由于这一步在 MySQL 整个执行流程中占据不少的分量,并且这一部分也经常被拿来在面试中提问。所以将 MySQL 执行计划单独摘出来介绍。 什么是执行计划   执行计划,通常是开发者优化SQL语句的第一步。MySQL 在解析SQL语句时,会生成多套执行方案,它的查询优化器是基于成本计算原则,它会尝试各种执行计划,以数据抽样的方式进行试验(随机的读取一个 4K 的数据块进行分析),最终选择一个最优的方案执行。然后根据这个方案来生成一个执行计划

扛麻袋的少年的博客 1795

你知道一条 SQL 语句是咋执行的吗?_python执行的sql为啥是上次执行的(1)

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

m0_58269070的博客 1010

MySQL的基础架构-一条查询语句是如何执行的?

今天我们开启一个新的篇章,就是开始学习我们的MySQL,每次的面试我都是MySQL这块异常的薄弱,每次一问MySQL,除了会写点增删查改,一些优化的手段也是不知道,导致这块的面试的效果很不好,接下来,我们就开始系统的学习一下MySQL,主要参考的资料是极客时间的专栏课《MySQL实战45讲》

了不起的盖茨比的博客 252

select框怎么传值到服务端_MySQL系列:一句SQL,MySQL是怎么工作的?

推荐阅读:吊打面试官!MySQL灵魂100问,你能答出多少?对于MySQL而言,其实分为客户端与服务端。服务端,就是MySQL应用,当我们使用net start mysql命令启动的服务,其实就是启动了MySQL的服务端。客户端,负责发送请求到服务端并从服务端获取数据,客户端可以有多种形式,可以是我们通过mysql -uroot -p1234打开的黑窗口,也可以是我们使用的Nativecat、SQ...

weixin_39681161的博客 115

IBM大面积辞退40岁+的员工,MySQL系列:一句SQL

在我们执行SQL后,例如一句简单的select * from user where name = ‘yanger’,客户端发送请求到服务端,请求到达Server层,会经过连接器、查询缓存、分析器、优化器、执行器等,最终通过存储引擎从文件系统获取数据或者插入数据到文件系统。 连接器 在客户端程序发起连接的时候,需要携带主机信息、用户名、密码,服务器程序会对客户端程序提供的这些信息进行认证,如果认证失败,服务器程序会拒绝连接。 连接命令大家都比较熟悉。 mysql -h$ip -P$port -u$user .

m0_60388292的博客 170

Java实战项目视频!MySQL系列:一句SQL

在我们执行SQL后,例如一句简单的select * from user where name = ‘yanger’,客户端发送请求到服务端,请求到达Server层,会经过连接器、查询缓存、分析器、优化器、执行器等,最终通过存储引擎从文件系统获取数据或者插入数据到文件系统。 连接器 在客户端程序发起连接的时候,需要携带主机信息、用户名、密码,服务器程序会对客户端程序提供的这些信息进行认证,如果认证失败,服务器程序会拒绝连接。 连接命令大家都比较熟悉。 mysql -h$ip -P$port -u$user .

m0_57431076的博客 131

面试官问:MySQL误删表数据,如何快速恢复丢失的数据?

相信后端研发的同学在开发过程经常会遇到产品临时修改线上数据的需求,如果手法很稳那么很庆幸可以很快完成任务,很不幸某一天突然手一抖把表里的数据修改错误或者误删了,这个时候你会发现各种问题反馈接踵而来。如果身边有BDA或者有这方面经验的同事那么可以很快解决这个问题,如果没有那么希望这篇文章可以帮到你。第一步:保证mysql已经开启binlog,查看命令:查看binklog是否开启showvariab...

Java精选 3161

MySQL从零到实战:安装建表、SQL优化与执行计划全攻略

关系型数据库作为数据持久化的核心组件,在各类业务系统中扮演着关键角色。SQL的操作效率与表设计的合理性,直接影响着应用的整体性能。随着数据规模增长,如何利用索引加速查询、理解事务的隔离级别以及MVCC的并发控制原理,成为开发者进阶的必备技能。从环境搭建到执行计划分析,掌握这些基础能力能够有效应对日常开发中的性能瓶颈。本文以MySQL为例,系统梳理了从安装部署、字段类型选择、表结构设计到SQL编写、索引优化、执行计划解读的完整学习路径,并结合常见报错与排查技巧,帮助读者快速建立工程化思维,避免在真实项目中踩坑

weixin_42665725的博客 234
上一篇: 【强烈建议收藏:MySQL面试必问系列之并发事务锁专题】
下一篇: 【MySQL中有哪些存储引擎?请你说说MySQL中innodb和myisam的区别?InnoDB引擎的三大特性?】
硕风和炜
硕风和炜 优质创作者: Java技术领域 优质创作者: Java技术领域
博客等级 码龄7年 2万+粉丝 1024原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硕风和炜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值