1.说一下 MySQL 执行一条查询语句的内部执行过程?

答:MySQL 执行一条查询的流程如下:

  • 客户端先通过连接器连接到 MySQL 服务器;
  • 连接器权限验证通过之后,先查询是否有查询缓存,如果有缓存(之前执行过此语句)则直接返回缓存数据,如果没有缓存则进入分析器;
  • 分析器会对查询语句进行语法分析和词法分析,判断 SQL 语法是否正确,如果查询语法错误会直接返回给客户端错误信息,如果语法正确则进入优化器;
  • 优化器是对查询语句进行优化处理,例如一个表里面有多个索引,优化器会判别哪个索引性能更好;
  • 优化器执行完就进入执行器,执行器则开始执行语句进行查询比对了,直到查询到满足条件的所有数据,然后进行返回。

2.MySQL 查询缓存有什么优缺点?

答:MySQL 查询缓存功能是在连接器之后发生的,它的优点是效率高,如果已经有缓存则会直接返回结果。

查询缓存的缺点是失效太频繁导致缓存命中率比较低,任何更新表操作都会清空查询缓存,因此导致查询缓存非常容易失效。

3.MySQL 的常用引擎都有哪些?

答:MySQL 的常用引擎有 InnoDB、MyISAM、Memory 等,从 MySQL 5.5.5 版本开始 InnoDB 就成为了默认的存储引擎。

4.常用的存储引擎 InnoDB 和 MyISAM 有什么区别?

答:InnoDB 和 MyISAM 最大的区别是 InnoDB 支持事务,而 MyISAM 不支持事务,它们其他主要区别如下:

MySQL 面试题汇总相关推荐

  1. 初级mysql面试题汇总

    本人学习了解了一些mysql的知识,也曾面试过mysql的数据库管理员,现与大家分享一些mysql初级的面试题. Mysql的存储引擎,myisam与innodb的区别. 答: 1.myisam是非事 ...

  2. 2万字高频MySQL面试题总结(含答案),金九银十成为offer收割机!【建议收藏】

    大家好,我是yes. 这篇是MySQL 面试题汇总,所有的答案都是我原创的,来来回回差不多整理个一个月左右,如果有什么问题,还请留言区指正! 话不多说,请接招! 你们公司数据库有备份的吧? 我:有的, ...

  3. 【Mysql笔试】-常见笔试题汇总

    Mysql常见笔试题汇总 基础知识 排序的规则? 函数的分类?经常使用的函数? 分组查询注意条件? limit使用方法? 创建表时有什么约束条件? mysql常见数据类型? 增加删除修改表结构 常见约 ...

  4. Java面试题汇总及答案2021最新(序列化含答案)

    Java面试题汇总及答案2021最新(序列化含答案) 为大家整理了2021最新的Java面试题及答案下载,这套Java面试题总汇已经汇总了Java基础面试到高级Java面试题,几乎涵盖了作为一个Jav ...

  5. access汇总含义_2020最新大厂内部 PHP 高级工程师面试题汇总(二)

    51.数据库中的存放了用户 ID, 扣费很多行,redis 中存放的是用户的钱包,现在要写一个脚本,将数据库中的扣费记录同步到 redis 中,每 5 分钟执行一次.请问要考虑哪些问题? 思路:生产者 ...

  6. 网易校园招聘历年经典面试题汇总:C++研发岗

    这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦 这个系列离结束差的还特别多,会更新涵盖所有一线大厂的所有岗位,也可以关注一下. 腾讯校园招聘历年经典面试题汇总:前 ...

  7. 百度校招历年经典面试题汇总:Java开发岗

    这个系列计划收集几百份朋友和读者的面经,作者合集方便查看,各位有面经屯着可以联系我哦 这个系列离结束差的还特别多,会更新涵盖所有一线大厂的所有岗位,也可以关注一下. 百度校园招聘历年经典面试题汇总:C ...

  8. 年终盘点 | 2019年Java面试题汇总篇(附答案)

    作者 | 老王 来源 | Java中文社群「微信公众号」 在这岁月更替辞旧迎新的时刻,老王盘点了一下自己 2019 年发布的所有文章,意外的发现关于「Java面试」的主题文章,竟然发布了 52 篇,几 ...

  9. 【吐血整理】年度盘点 | 2019年Java面试题汇总篇——附答案

    在这岁月更替辞旧迎新的时刻,老王盘点了一下自己 2019 年发布的所有文章,意外的发现关于「Java面试」的主题文章,竟然发布了 52 篇,几乎是全年每周一篇面试文章的节奏,当然其中有不少的面试题来源 ...

最新文章

  1. Asp.net core 启动流程
  2. Java集合——HashMap、HashTable以及ConCurrentHashMap异同比较
  3. 网络教育计算机 判断,北京师范大学网络教育计算机作业1、4、8
  4. 13001.udp广播接收程序(python)
  5. 编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。
  6. shell oracle 多进程,Shell多进程实现
  7. 点播的时候出现 “S1-10921” 的错误
  8. 解决 /lib64/libc.so.6: version `GLIBC_2.18‘ not found以及glibc安装错误error: you must configure in a separat
  9. Python数据分析实战(1)数据分析概述
  10. DDD/ABP/EF Core :新特性Owned Entity Types ,尝试另外一种值对象的配置方式
  11. 小技巧(1):Ububtu18.04中.z01 .z02 .z03此类拆分后压缩文件解压缩办法(以及常用解分卷压缩方法)
  12. 嵌入式方向如何转行?
  13. 归纳法与面向对象思维
  14. Bazel5.0.0源码安装报错:no matching function for call to ‘StrFormat(const char [28], const char*)’
  15. 【猫猫的Unity Shader之旅】之玻璃材质
  16. NBA篮球经典动画gif系列连载之三
  17. windows中显示文件后缀名
  18. 为了反击爬虫,前端工程师的脑洞可以有多大?
  19. 市场同类产品对比分析
  20. php zend optimizer 解密,PHP反编译工具(Mr.DeZend GUI)下载 v1.0

热门文章

  1. java实现编辑距离算法(levenshtein distance),计算字符串或者是文本之间的相似度【附代码】
  2. Redis(零):背景
  3. linux下的ImageMagick安装
  4. 为什么我不用ViewPager或RecyclerView来做上下滑切换
  5. 大道至简: 拉新、促活和留存
  6. Centos搭建SVN服务器及配置文件
  7. 管道过滤器(Pipe-And-Filter)模式
  8. ASP.NET (C#) 面试笔试题目收集
  9. 关于《详解》第12.1节按键驱动的进一步阐述
  10. count(1),count(*),count(主键) 性能对比及辟谣