MySQL面试知识点总结:连接、存储过程、事务和性能优化
需积分: 0 179 浏览量
更新于2023-12-31
收藏 1.59MB DOCX 举报
MySQL面试知识点总结:
在MySQL的面试中,面试官通常会考察以下一些知识点:
1. 数据库的三大范式:
- 第一范式(1NF):要求关系数据库中的每一列都是原子性的,不可再分。
- 第二范式(2NF):要求非主键属性完全依赖于主键属性,一个表只能说明一个事物。
- 第三范式(3NF):要求每列都与主键有直接关系,不存在传递依赖,任何非主属性不依赖于其他非主属性。
2. 内连接与外连接的区别:
- 内连接(Inner Join):只显示符合连接条件的记录,即返回两个表中能够匹配的结果。
- 外连接(Outer Join):分为左外连接(Left Join)、右外连接(Right Join)和全外连接(Full Join)。
- 左外连接:以左表为基准,返回左表的全部记录以及右表符合连接条件的记录,找不到匹配的用NULL补齐。
- 右外连接:以右表为基准,返回右表的全部记录以及左表符合连接条件的记录,找不到匹配的用NULL补齐。
- 全外连接:返回左右表的全部记录,找不到匹配的用NULL补齐。
3. 存储过程的概念以及优缺点:
- 存储过程是一组预编译的SQL语句集,可以作为一个单元来执行。
- 优点:
- 提高数据库性能:减少网络传输次数,减少SQL语句的解析和优化时间。
- 提高安全性:可以设置合适的权限来限制对存储过程的访问。
- 简化开发(封装复杂逻辑):将复杂的业务逻辑封装在存储过程中,减少应用层的代码量。
- 缺点:
- 不容易调试和维护:存储过程的调试和维护比较困难。
- 存储过程的语法和特性因数据库而异:不同的数据库可能具有不同的存储过程语法和特性,需要进行适配。
4. 数据库事务正确执行的四个基本要素(事务的四个属性):
- 原子性(Atomicity):事务是一个不可分割的工作单元,要么全部执行成功,要么全部不执行。
- 一致性(Consistency):事务执行前后数据库的状态保持一致。
- 隔离性(Isolation):事务之间相互隔离,每个事务都应该感知不到其他正在执行的事务。
- 持久性(Durability):事务一旦提交,对数据库中的数据改变是永久性的,即使系统发生故障也不会丢失。
5. 并发事务带来的问题:
- 脏读(Dirty Read):一个事务读取了另一个未提交的事务的数据。
- 不可重复读(Non-repeatable Read):一个事务内多次读取同一数据,但在事务执行期间,另一个事务修改了该数据,导致多次读取的结果不一致。
- 幻读(Phantom Read):一个事务在读取某个范围的记录时,另一个事务插入了一些符合该范围的记录,导致第一个事务多次读取时的记录数不一致。
MySQL的面试方式通常包括以下几种:
1. 场景题,手写SQL:面试官会给出一个具体场景,要求应聘者写出相应的SQL查询语句来解决问题。
2. MySQL的相关底层原理:包括存储引擎、索引、锁、事务等等。面试官可能会问到具体的原理,以及在某些情况下的应用和优化方法。
3. 查询性能优化:考察应聘者对于MySQL查询性能优化的理解和实践经验,比如如何优化查询语句、如何设计合适的索引等。
总的来说,MySQL的面试中,除了基本概念和语法外,还需要了解MySQL的底层原理和性能优化技巧。同时,对于事务和并发控制也是需要重点掌握的内容。
2023-02-13 上传
2022-01-25 上传
2023-12-25 上传
2023-03-17 上传
2023-11-02 上传
2018-06-21 上传
2023-02-07 上传
柏傅美
- 粉丝: 32
- 资源: 325
最新资源
- MTK MMI编程总结
- 关于mtk添加菜单菜单
- 超市信息管理系统需求分析(用C#做的)
- 《SOPC系统设计入门教程》
- asp实现的考试系统论文
- 企业制造资源计划MRPII原理
- 片机I/O口模拟串口通信的实现方法
- C# 基础教程 比较基础的C#教程
- IL指令速查手册IL指令速查手IL指令速查手IL指令速查手IL指令速查手
- 英语听力场景词汇 听力场景
- VMware Workstation 6 基本使用
- http://d.download.csdn.net/down/376876/wsm2008
- Java脚本语言程序员手册
- Object pascal中文参考手册
- OpenSceneGraph_Quick_Start_Guide.pdf
- 单片机开发工具及基础知识guide_atmel_starter_guide.pdf