mysql面试复习

Posted DjanFey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql面试复习相关的知识,希望对你有一定的参考价值。

一、存储引擎去区别

  A、存储文件:

    1. innodb有两个文件,frm文件存储表结构和元信息等,ibd存储数据(包括索引和数据)

    2. myisam有三个文件,因为索引和数据分开存放的

  B、事务区别

    1. innodb支持事务

    2. myisam、memory、archive都不支持事务

  C、锁区别

    1. innodb默认支持的是行锁,也支持表锁,取决于是否有索引,如果没有索引只支持表锁

    2. myisam默认支持的表锁

  D、外键

    1. innodb支持外键

    2. myisam不支持外键

  E、适用场景

    1. 如果要支持事务,选择innodb

    2. 如果主要用来插入和查询,myisam能有更高的效率

    3. 如果只是临时存放数据,数据量不大,并且不需要较高安全性,可以选择memory

    4. 如果只有insert和select操作,可以选择archive,注意不是并发安全的,非常适合归档数据,记录日志等。

二、架构

  A、client

  B、mysqlserver

    1. 连接器

    2. 分析器

    3. 优化器

    4. 执行器

  C、存储引擎

三、事务四大特性实现原理

  A、原子性实现原理

    1. 通过undo log来实现,在操作任何数据之前,现将数据备份到undo log,然后进行数据修改,如果需要回滚,就通过undo log来恢复。

  B、持久性实现原理

    1. 通过redo log来实现

  C、隔离性原理

    1. 未提交读

    2. 提交读

    3. 可重复读

    4. 串行化

 

以上是关于mysql面试复习的主要内容,如果未能解决你的问题,请参考以下文章

Mysql面试复习总结

借鉴了阿里这份内部软件测试复习笔记,让你超过80%的测试面试者...

mysql 面试题关键字

[Java面试一]面试复习大纲.

我的Java面试复习

Java面试复习提纲