面试官:你们常用的数据库是啥啊?
我:MySQL啊。
面试官:那么MySQL常用的三种存储引擎是?
我 :???存储引擎。。。是啥???
面试官:就是你创建表之前设置的存储引擎。
我内心OS:我们都是直接用默认的啊。
所以,才发现自己学的多么浅浅浅。。。
-----------------------------------------------------------------------此处分割--------------------------------------------------------------------------------------
1、MyISAM
MyISAM是Mysql5.1以前的默认存储引擎。它基于更老的ISAM代码,但有很多扩展。每个MyISAM在磁盘上存储成三个文件,每个文件的名字均以表的名字开始,扩展名中指出文件类型。
.frm文件存储表定义
.MYD(MYData)文件存储表的数据
.MYI(MYIndex)文件存储表的索引
要明确表示想用一个MyISAM表格,要使用ENGINE表选项指出来:
create table 表名(列名 类型...)ENGINE=MYISAM;
老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE=MYISAM)。MySQL5.1为向下兼容而支持这个语法,但TYPE用的比较少,ENGINE是首要的用法。
一般情况下,ENGINE选项是不必要的;除非默认已经被改变了,InnoDB是Mysql5.1后的默认存储引擎。
2、InnoDB
InnoDB,是MySQL的数据库引擎之一。与传统的ISAM与MyISAM相比,InnoDB最大的特色就是支持了ACID兼容的事务(Transaction)功能。
3、Memory
所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失。
360服务端开发工程师面试题:MySQL常用的三种存储引擎
最新推荐文章于 2022-06-14 15:12:14 发布