MySQL作为目前最流行的关系型数据库管理系统之一,往往是我们学习数据库的首选。
无论是在大学的专门课程还是在自学的课程里,MySQL都是非常重要的内容。我们在求职面试的过程中,也会遇到各种各样的MySQL面试题。
本文我们为大家介绍10道经典MySQL面试题,为大家排忧解难。
1.索引的基本原理
索引用来快速地寻找那些具有特定值的记录。如果没有索引,一般来说执行查询时遍历整张表。
索引的原理很简单,就是把无序的数据变成有序的查询。
1)把创建了索引的列的内容进行排序
2)对排序结果生成倒排表
3)在倒排表内容上拼上数据地址链
4)在查询的时候,先拿到倒排表内容,再取出数据地址链,从而拿到具体数据
2.事务的基本特性有哪些?
事务基本特性ACID分别是:
- 原子性:指的是一个事务中的操作要么全部成功,要么全部失败。
- 一致性:指的是数据库总是从一个一致性的状态转换到另外一个一致性的状态。比如A转账给B100块钱,假设中间sql执行过程中系统崩溃A也不会损失100块,因为事务没有提交,修改也就不会保存到数据库。
- 隔离性:指的是一个事务的修改在最终提交前,对其他事务是不可见的。
- 持久性:指的是一旦事务提交,所做的修改就会永久保存到数据库中。
3.MySQL由哪些部分组成, 各自有什么功能?
1、Server
1)连接器: 管理连接, 权限验证
2)分析