所有MySQL引擎之间的主要区别是什么?

7

我希望总结一下所有Mysql引擎之间的主要区别,当然也包括最受欢迎的引擎。

那么我应该使用什么标准来确定使用哪个引擎呢?


1
“我应该使用哪个引擎,有什么标准可以确定呢?” - 这不取决于您的具体要求吗? - Mitch Wheat
2
他在询问该如何确定应该使用哪个引擎,而不是应该使用哪个引擎。这是一个非常合理的问题。 - Matt Baker
3个回答

8

4

正如Lars D所说,这里有非常好的描述:

http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

以上数据来自上面提供的链接,可能会对您有所帮助...

*************************** 1. row ***************************
 Engine: MyISAM
Support: DEFAULT
Comment: Default engine as of MySQL 3.23 with great performance
*************************** 2. row ***************************
 Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
*************************** 3. row ***************************
 Engine: HEAP
Support: YES
Comment: Alias for MEMORY
*************************** 4. row ***************************
 Engine: MERGE
Support: YES
Comment: Collection of identical MyISAM tables
*************************** 5. row ***************************
 Engine: MRG_MYISAM
Support: YES
Comment: Alias for MERGE
*************************** 6. row ***************************
 Engine: ISAM
Support: NO
Comment: Obsolete storage engine, now replaced by MyISAM
*************************** 7. row ***************************
 Engine: MRG_ISAM
Support: NO
Comment: Obsolete storage engine, now replaced by MERGE
*************************** 8. row ***************************
 Engine: InnoDB
Support: YES
Comment: Supports transactions, row-level locking, and foreign keys
*************************** 9. row ***************************
 Engine: INNOBASE
Support: YES
Comment: Alias for INNODB
*************************** 10. row ***************************
 Engine: BDB
Support: YES
Comment: Supports transactions and page-level locking
*************************** 11. row ***************************
 Engine: BERKELEYDB
Support: YES
Comment: Alias for BDB
*************************** 12. row ***************************
 Engine: NDBCLUSTER
Support: NO
Comment: Clustered, fault-tolerant, memory-based tables
*************************** 13. row ***************************
 Engine: NDB
Support: NO
Comment: Alias for NDBCLUSTER
*************************** 14. row ***************************
 Engine: EXAMPLE
Support: NO
Comment: Example storage engine
*************************** 15. row ***************************
 Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
*************************** 16. row ***************************
 Engine: CSV
Support: NO
Comment: CSV storage engine
*************************** 17. row ***************************
 Engine: FEDERATED
Support: YES
Comment: Federated MySQL storage engine
*************************** 18. row ***************************
 Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)

1

你应该像Lars和Phil说的那样查看手册。

虽然我可以简单地告诉你,主要引擎(MyISAM和innoDB)之间的区别在于事务支持、外键支持、锁定级别(MyISAM锁定整个表,innoDB具有行级锁定)和MVCC。它们之间有太多的不同。我建议你看一下:Pro MySQL Apress 2005。

-- Santiago Basulto.-


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接