运维面试面试官:MySQL 存储引擎有哪几种,他们的区别是什么?

Posted 互联网老辛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维面试面试官:MySQL 存储引擎有哪几种,他们的区别是什么?相关的知识,希望对你有一定的参考价值。

前言

mysql面试中最常问的问题之一: 小伙子,你说一下你们公司用的存储引擎,以及你知道有哪些存储引擎和他们之间的区别?

面试者: 简历给我吧,我去下一家。

什么是存储引擎?

官方定义:

存储引擎其实就是对于数据库文件的一种存取机制,如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。

通俗版:
mysql中的数据使用不同的技术存储在文件或者内存中,这些技术中包含不同的存储机制和索引技巧,因为不同所以提供了不同的功能和能力。 在mysql中将这些不同的技术以及配套的相关功能成为存储引擎。

存储引擎的有哪些?

常见的存储引擎有innodb,myisam,MEMORY

区别

InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback),现在高版本中默认自带的就是innoDB引擎了。

MyISAM:最重要的特性就是,不支持事务;筛选大量数据的时候速度非常快,在并发插入的时候允许同时选择和插入数据,所以MyISAM引

以上是关于运维面试面试官:MySQL 存储引擎有哪几种,他们的区别是什么?的主要内容,如果未能解决你的问题,请参考以下文章

Java8新特性面试官问我:Java8中创建Stream流有哪几种方式?

Java8新特性面试官问我:Java8中创建Stream流有哪几种方式?

面试官:Java多线程有哪几种实现方式如何实现?

数据仓库|数据库面试题总结

面试官:Dubbo面试八连问,这些你都能答上来吗?

手撕面试官系列:Tomcat+Mysql+设计模式面试专题