MySQL中的引擎

MySQL中有不同的引擎,因为它们具有各自不同的功能和特性, 为不同的任务选择正确的引擎获得良好的功能和灵活性。

常用的三个引擎有:InnoDB, MEMORY, MyISAM
1.InnoDB是一个可靠的事务处理引擎,它不支持全文本检索;

2.MEMORY在功能等同于MyISAM,但由于数据储存在内存(不是磁盘)中,速度很快,特别适合于临时表;

3.MyISAM是一个性能极高的引擎,它支持全文本检索,但不支持事务处理。

如何选择引擎?
如果不需要可靠的事务处理,而且需要全文本检索,MyISAM会是你最好的选择;如果需要可靠的事务处理,而不需要全文本检索,你可以选择InnoDB引擎。

引擎混用
引擎是可以混用的,在一个数据库中,创建不同的表可以使用不同的引擎。但是混用引擎有一个很大的缺陷,就是外键不能跨引擎。
所谓的外键不能跨引擎,就是使用一个引擎的表不能引用具有不同引擎的表的主键作为外键。
举个例子:比如我选择创建了一个customers的表,主键为cust_id,使用引擎是InnoDB,我又创建了一个orders的表,主键为order_id,使用引擎是MyISAM。 如果你在orders表中引用customers中的主键作为外键,那么就会因为外键不能跨引擎而报错。如果是同一个引擎,就可以引用作为外键。

猜你喜欢

转载自blog.csdn.net/FateRuler/article/details/81297122