这是高级开发者面试时常常被问的问题。实际咱们在平时的开发中,常常会遇到的,在用SQLyog等工具建立表时,就有一个引擎项要你去选。以下图:mysql
Mysql的存储引擎有这么多种,实际咱们在平时用的最多的莫过于InnoDB和MyISAM了。面试
全部若是面试官问道mysql有哪些存储引擎,你只须要告诉这两个经常使用的就行。sql
MyISAM :默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,并且不支持外键,若是执行大量的select,insert MyISAM比较适合。安全
InnoDB :支持事务安全的引擎,支持外键、行锁、事务是他的最大特色。若是有大量的update和insert,建议使用InnoDB,特别是针对多个并发和QPS较高的状况。注: 在MySQL 5.5以前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5以后的版本中,默认的搜索引擎变动为InnoDB。并发
Innodb:frm是表定义文件,ibd是数据文件。工具
Myisam:frm是表定义文件,myd是数据文件,myi是索引文件。搜索引擎
本次分享就到这里,相信经过上面的文章,你已经对InnoDB和MyISAM有一个基本的认识了,可是你仅仅知道这一些是不够的,在接下来的一段时间里,我会继续在个人公众号:Java技术zhai 总结一些面试中的问题共享给你们。指针