前言
mysql面试中最常问的问题之一: 小伙子,你说一下你们公司用的存储引擎,以及你知道有哪些存储引擎和他们之间的区别?
面试者: 简历给我吧,我去下一家。
什么是存储引擎?
官方定义:
存储引擎其实就是对于数据库文件的一种存取机制,如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。
通俗版:
mysql中的数据使用不同的技术存储在文件或者内存中,这些技术中包含不同的存储机制和索引技巧,因为不同所以提供了不同的功能和能力。 在mysql中将这些不同的技术以及配套的相关功能成为存储引擎。
存储引擎的有哪些?
常见的存储引擎有innodb,myisam,MEMORY
区别
InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,